      ***************************************************************
       IDENTIFICATION DIVISION.
      ***************************************************************
       PROGRAM-ID.    P108MT15.
       AUTHOR.        MARCOM PROJECT TEAM.
       DATE-WRITTEN.  AUGUST 1994.
      ***************************************************************
      *                                                             *
      *   PROGRAM:  P108MT15 - MTS FORECAST UPDATE.                 *
      *                                                             *
      *   SYSTEM:   MTS - MARCOM TRACKING AND FORECASTING SYSTEM    *
      *                                                             *
      *   FUNCTION: ALLOW UPDATE TO THE MTS FORECASTS VIA A SCREEN  *
      *      WHICH MATCHES THE FORECAST DETAIL REPORTS P108MT79 AND *
      *      P108MT89.  THE SCREEN WILL ALLOW FLEXIBLE LEVELS OF    *
      *      INPUT TO MATCH THE REPORT PRINTING OPTIONS, WITH THE   *
      *      APPROPRIATE MATCHING SUB-TOTALS.  THE FORECASTS CAN    *
      *      BE PROCESSED AT THE FOLLOWING LEVELS:                  *
      *                                                             *
      *       (1)  DEPT, SUB DEPT                                   *
      *       (2)  DEPT, SUB DEPT, EXP TYPE                         *
      *       (3)  DEPT, SUB DEPT, EXP TYPE, EXP SUB TYPE           *
      *       (4)  DEPT, ALL SUB DEPTS                              *
      *       (5)  DEPT, ALL SUB DEPTS, EXP TYPE                    *
      *       (6)  DEPT, ALL SUB DEPTS, EXP TYPE, EXP SUB TYPE      *
      *                                                             *
      *   LANGUAGE: COBOL II / SQL / CICS                           *
      *                                                             *
      *   ENTRY:    CICS TRANSACTION ID "MTSF" THRU "MTS0"          *
      *                                                             *
      ***************************************************************
      *                                                             *
      *   DATABASE TABLES AND FILES:                                *
      *                                                             *
      ***************************************************************
      *                                                             *
      *   CALLED SUBROUTINES:                                       *
      *                                                             *
      ***************************************************************
      *                                                             *
      *   MODIFICATIONS:                                            *
      *                                                             *
      *   DATE      PROGRAMMER     DESCRIPTION                      *
      *   --------  -------------  -------------------------------  *
      *   08/20/94                 ORIGINAL VERSION.                *
      *                                                             *
      ***************************************************************

       ENVIRONMENT DIVISION.

           EJECT
       DATA DIVISION.

       WORKING-STORAGE SECTION.

       01  FILLER                      PIC X(35) VALUE
           'WORKING STORAGE BEGINS HERE ======>'.
      ***************************************************************
      *                                                             *
      *    PROGRAM CONSTANTS AND WORK FIELDS                        *
      *                                                             *
      ***************************************************************
       01  W0000-PROGRAM-INFO.
           05  PROGRAM-NAME            PIC X(08) VALUE 'P108MT15'.
           05  MAP-NAME                PIC X(08) VALUE 'M108M15'.
           05  SET-NAME                PIC X(08) VALUE 'M108M15'.
           05  TXN-ID                  PIC X(04) VALUE 'MTSF'.
           05  MAIN-TXN-ID             PIC X(04) VALUE 'MTS0'.
           05  ERROR-FLAG              PIC X(1)  VALUE 'N'.
               88  NO-ERRORS                     VALUE 'N'.
               88  ERRORS                        VALUE 'Y'.

           EJECT
       01  W0001-MISCELLANEOUS-FIELDS.
           05  W0001-TXN-ID            PIC  X(04)  VALUE SPACES.

           05  W0001-ABSTIME           PIC S9(16)  COMP.
           05  W0001-HHCMMCSS.
               10  W0001-HR            PIC  X(02).
               10  W0001-C1            PIC  X(01).
               10  W0001-MIN           PIC  X(02).
               10  W0001-C2            PIC  X(01).
               10  W0001-SEC           PIC  X(02).
           05  W0001-MMSDDSYY.
               10  W0001-MON           PIC  X(02).
               10  W0001-S1            PIC  X(01).
               10  W0001-DAY           PIC  X(02).
               10  W0001-S1            PIC  X(01).
               10  W0001-YEAR          PIC  X(02).
           05  W0001-YYYY.
               10  W0001-YY            PIC  X(04).

           05  W0001-FISCAL-PERIOD.
               10  W0001-FISCAL-CC       PIC  X(02)  VALUE SPACES.
               10  W0001-FISCAL-YY       PIC  X(02)  VALUE SPACES.
               10  W0001-FISCAL-MM       PIC  X(02)  VALUE SPACES.

           05  W0001-FYPD.
               10  W0001-FYPD-YY         PIC  X(02)  VALUE SPACES.
               10  W0001-FYPD-MM         PIC  X(02)  VALUE SPACES.

           05  W0001-XCTL-PGM-ID       PIC  X(08)  VALUE 'P108MT00'.
           05  W0001-LINK-PGM-ID       PIC  X(08)  VALUE 'P108MT00'.
           05  W0001-LINK-CA           PIC  X(999) VALUE ALL '#'.
           05  W0001-OUTPUT-DISPLAY    PIC  ZZZ9.
           05  W0001-OUTPUT-DISPLAY2   PIC  ---9.
           05  W0001-H-FCSP01-A        PIC  S9(9)V  COMP-3 VALUE +0.
           05  W0001-H-ACTP01-A        PIC  S9(9)V  COMP-3 VALUE +0.
           05  W0001-FCSID-N           PIC  ZZZZZ.
           05  W0001-CSR-POSITION      PIC S9(04)   COMP-3.
           05  W0001-COUNTER           PIC S9(04)   COMP-3 VALUE +0.
           05  W0001-ORDER-BY          PIC  X(02)   VALUE SPACES.
           05  W0001-IND-VAR           PIC S9(04)   USAGE COMP.

           05  W0001-PREV-FCST         PIC  S9(9)V  COMP-3 VALUE +0.
           05  W0001-PREV-ACT          PIC  S9(9)V  COMP-3 VALUE +0.
           05  W0001-Q01-A             PIC  S9(9)V  COMP-3 VALUE +0.
           05  W0001-Q02-A             PIC  S9(9)V  COMP-3 VALUE +0.
           05  W0001-Q03-A             PIC  S9(9)V  COMP-3 VALUE +0.
           05  W0001-Q04-A             PIC  S9(9)V  COMP-3 VALUE +0.

           05  W0001-AMT-CHAR          PIC   X(04)  VALUE SPACES.
           05  W0001-AMT-NUM           PIC  S9(9)V  COMP-3 VALUE +0.

           05  W0001-AMT-01            PIC  S9(9)V  COMP-3 VALUE +0.
           05  W0001-AMT-02            PIC  S9(9)V  COMP-3 VALUE +0.
           05  W0001-AMT-03            PIC  S9(9)V  COMP-3 VALUE +0.
           05  W0001-AMT-04            PIC  S9(9)V  COMP-3 VALUE +0.
           05  W0001-AMT-05            PIC  S9(9)V  COMP-3 VALUE +0.
           05  W0001-AMT-06            PIC  S9(9)V  COMP-3 VALUE +0.
           05  W0001-AMT-07            PIC  S9(9)V  COMP-3 VALUE +0.
           05  W0001-AMT-08            PIC  S9(9)V  COMP-3 VALUE +0.
           05  W0001-AMT-09            PIC  S9(9)V  COMP-3 VALUE +0.
           05  W0001-AMT-10            PIC  S9(9)V  COMP-3 VALUE +0.
           05  W0001-AMT-11            PIC  S9(9)V  COMP-3 VALUE +0.

           05  W0001-PROJECT.
               10  W0001-PRJ-N         PIC  X(09) VALUE SPACES.
               10  W0001-PRJ-X         PIC  X(30) VALUE SPACES.

           05  W0001-FCST.
               10  W0001-FCS-N         PIC  X(06) VALUE SPACES.
               10  W0001-FCS-X         PIC  X(30) VALUE SPACES.

           05  W0001-OUTPUT-DATA.
               10  W0001-PREV-PD       PIC  X(06) VALUE SPACES.
               10  W0001-CURR-PD       PIC  X(06) VALUE SPACES.
               10  W0001-Q01           PIC  X(07) VALUE SPACES.
               10  W0001-Q02           PIC  X(07) VALUE SPACES.
               10  W0001-Q03           PIC  X(07) VALUE SPACES.
               10  W0001-Q04           PIC  X(07) VALUE SPACES.

           05  W0001-X                  PIC S9(04)  COMP.
           05  W0001-IX                 PIC S9(09)  COMP.
           05  W0001-IX2                PIC S9(09)  COMP.
           05  W0001-Y                  PIC S9(04)  COMP.
           05  W0001-SCREEN-LINE-LIMIT  PIC S9(09)  COMP-3 VALUE +13.
           05  W0001-FIELD-OCCURS-LIMIT PIC S9(09)  COMP-3 VALUE +11.


           05  W0001-KEY1              PIC  X(12).
           05  W0001-KEY1-RD           REDEFINES
               W0001-KEY1.
               10  W0001-K1-F-DPT-C    PIC  X(04).
               10  W0001-K1-F-SUBDPT-C PIC  X(03).
               10  W0001-K1-F-EXPTYP-C PIC  X(02).
               10  W0001-K1-F-SUBTYP-C PIC  X(03).

           05  W0001-KEY2              PIC  X(12).
           05  W0001-KEY2-RD           REDEFINES
               W0001-KEY2.
               10  W0001-K2-F-DPT-C    PIC  X(04).
               10  W0001-K2-F-SUBDPT-C PIC  X(03).
               10  W0001-K2-F-EXPTYP-C PIC  X(02).
               10  W0001-K2-F-SUBTYP-C PIC  X(03).

           05  W0001-KEY3              PIC  X(12).
           05  W0001-KEY3-RD           REDEFINES
               W0001-KEY3.
               10  W0001-K3-F-DPT-C    PIC  X(04).
               10  W0001-K3-F-SUBDPT-C PIC  X(03).
               10  W0001-K3-F-EXPTYP-C PIC  X(02).
               10  W0001-K3-F-SUBTYP-C PIC  X(03).

           05  W0001-KEY4              PIC  X(12).
           05  W0001-KEY4-RD           REDEFINES
               W0001-KEY4.
               10  W0001-K4-F-DPT-C    PIC  X(04).
               10  W0001-K4-F-SUBDPT-C PIC  X(03).
               10  W0001-K4-F-EXPTYP-C PIC  X(02).
               10  W0001-K4-F-SUBTYP-C PIC  X(03).

           05  W0001-KEY5              PIC  X(12).
           05  W0001-KEY5-RD           REDEFINES
               W0001-KEY5.
               10  W0001-K5-F-DPT-C    PIC  X(04).
               10  W0001-K5-F-SUBDPT-C PIC  X(03).
               10  W0001-K5-F-EXPTYP-C PIC  X(02).
               10  W0001-K5-F-SUBTYP-C PIC  X(03).

           05  W0001-KEY6              PIC  X(12).
           05  W0001-KEY6-RD           REDEFINES
               W0001-KEY6.
               10  W0001-K6-F-DPT-C    PIC  X(04).
               10  W0001-K6-F-SUBDPT-C PIC  X(03).
               10  W0001-K6-F-EXPTYP-C PIC  X(02).
               10  W0001-K6-F-SUBTYP-C PIC  X(03).

           05  W0001-POLN-N            PIC  9(05).
           05  W0001-POLN-RD REDEFINES W0001-POLN-N.
               10  FILLER              PIC  X(02).
               10  W0001-POLN-D        PIC  X(03).

           05  W0001-PORLS-N           PIC  9(05).
           05  W0001-PORLS-RD REDEFINES W0001-PORLS-N.
               10  FILLER              PIC  X(03).
               10  W0001-PORLS-D       PIC  X(02).

           05  W0001-UPDATE-FLAG       PIC X(01) VALUE 'N'.
               88  W0001-LINES-UPDATED           VALUE 'Y'.
               88  W0001-NO-LINES-UPDATED        VALUE 'N'.

           05  W0001-HDG.
               10  W0001-HDG-01       PIC X(04) VALUE SPACES.
               10  W0001-HDG-02       PIC X(04) VALUE SPACES.
               10  W0001-HDG-03       PIC X(04) VALUE SPACES.
               10  W0001-HDG-04       PIC X(04) VALUE SPACES.
               10  W0001-HDG-05       PIC X(04) VALUE SPACES.
               10  W0001-HDG-06       PIC X(04) VALUE SPACES.
               10  W0001-HDG-07       PIC X(04) VALUE SPACES.
               10  W0001-HDG-08       PIC X(04) VALUE SPACES.
               10  W0001-HDG-09       PIC X(04) VALUE SPACES.
               10  W0001-HDG-10       PIC X(04) VALUE SPACES.
               10  W0001-HDG-11       PIC X(04) VALUE SPACES.

           05  W0001-HDG1-PD01.
               10  W0001-HDG1-PD01-01  PIC X(04) VALUE '    '.
               10  W0001-HDG1-PD01-02  PIC X(04) VALUE 'TOT '.
               10  W0001-HDG1-PD01-03  PIC X(04) VALUE ' FY '.
               10  W0001-HDG1-PD01-04  PIC X(04) VALUE ' P1 '.
               10  W0001-HDG1-PD01-05  PIC X(04) VALUE ' P1 '.
               10  W0001-HDG1-PD01-06  PIC X(04) VALUE ' P2 '.
               10  W0001-HDG1-PD01-07  PIC X(04) VALUE ' P3 '.
               10  W0001-HDG1-PD01-08  PIC X(04) VALUE ' Q1 '.
               10  W0001-HDG1-PD01-09  PIC X(04) VALUE ' Q2 '.
               10  W0001-HDG1-PD01-10  PIC X(04) VALUE ' Q3 '.
               10  W0001-HDG1-PD01-11  PIC X(04) VALUE ' Q4 '.

           05  W0001-HDG2-PD01.
               10  W0001-HDG2-PD01-01  PIC X(04) VALUE 'PA$ '.
               10  W0001-HDG2-PD01-02  PIC X(04) VALUE 'SPTD'.
               10  W0001-HDG2-PD01-03  PIC X(04) VALUE 'SPTD'.
               10  W0001-HDG2-PD01-04  PIC X(04) VALUE ' ACT'.
               10  W0001-HDG2-PD01-05  PIC X(04) VALUE 'FCST'.
               10  W0001-HDG2-PD01-06  PIC X(04) VALUE 'FCST'.
               10  W0001-HDG2-PD01-07  PIC X(04) VALUE 'FCST'.
               10  W0001-HDG2-PD01-08  PIC X(04) VALUE 'FCST'.
               10  W0001-HDG2-PD01-09  PIC X(04) VALUE 'FCST'.
               10  W0001-HDG2-PD01-10  PIC X(04) VALUE 'FCST'.
               10  W0001-HDG2-PD01-11  PIC X(04) VALUE 'FCST'.

           05  W0001-HDG1-PD02.
               10  W0001-HDG1-PD02-01  PIC X(04) VALUE '    '.
               10  W0001-HDG1-PD02-02  PIC X(04) VALUE 'TOT '.
               10  W0001-HDG1-PD02-03  PIC X(04) VALUE ' FY '.
               10  W0001-HDG1-PD02-04  PIC X(04) VALUE ' P1 '.
               10  W0001-HDG1-PD02-05  PIC X(04) VALUE ' P2 '.
               10  W0001-HDG1-PD02-06  PIC X(04) VALUE ' P2 '.
               10  W0001-HDG1-PD02-07  PIC X(04) VALUE ' P3 '.
               10  W0001-HDG1-PD02-08  PIC X(04) VALUE ' Q1 '.
               10  W0001-HDG1-PD02-09  PIC X(04) VALUE ' Q2 '.
               10  W0001-HDG1-PD02-10  PIC X(04) VALUE ' Q3 '.
               10  W0001-HDG1-PD02-11  PIC X(04) VALUE ' Q4 '.

           05  W0001-HDG2-PD02.
               10  W0001-HDG2-PD02-01  PIC X(04) VALUE 'PA$ '.
               10  W0001-HDG2-PD02-02  PIC X(04) VALUE 'SPTD'.
               10  W0001-HDG2-PD02-03  PIC X(04) VALUE 'SPTD'.
               10  W0001-HDG2-PD02-04  PIC X(04) VALUE ' ACT'.
               10  W0001-HDG2-PD02-05  PIC X(04) VALUE ' ACT'.
               10  W0001-HDG2-PD02-06  PIC X(04) VALUE 'FCST'.
               10  W0001-HDG2-PD02-07  PIC X(04) VALUE 'FCST'.
               10  W0001-HDG2-PD02-08  PIC X(04) VALUE 'FCST'.
               10  W0001-HDG2-PD02-09  PIC X(04) VALUE 'FCST'.
               10  W0001-HDG2-PD02-10  PIC X(04) VALUE 'FCST'.
               10  W0001-HDG2-PD02-11  PIC X(04) VALUE 'FCST'.


           05  W0001-HDG1-PD03.
               10  W0001-HDG1-PD03-01  PIC X(04) VALUE '    '.
               10  W0001-HDG1-PD03-02  PIC X(04) VALUE 'TOT '.
               10  W0001-HDG1-PD03-03  PIC X(04) VALUE ' FY '.
               10  W0001-HDG1-PD03-04  PIC X(04) VALUE ' P3 '.
               10  W0001-HDG1-PD03-05  PIC X(04) VALUE ' P3 '.
               10  W0001-HDG1-PD03-06  PIC X(04) VALUE ' Q1 '.
               10  W0001-HDG1-PD03-07  PIC X(04) VALUE ' Q1 '.
               10  W0001-HDG1-PD03-08  PIC X(04) VALUE ' P4 '.
               10  W0001-HDG1-PD03-09  PIC X(04) VALUE ' P5 '.
               10  W0001-HDG1-PD03-10  PIC X(04) VALUE ' P6 '.
               10  W0001-HDG1-PD03-11  PIC X(04) VALUE ' Q2 '.

           05  W0001-HDG2-PD03.
               10  W0001-HDG2-PD03-01  PIC X(04) VALUE 'PA$ '.
               10  W0001-HDG2-PD03-02  PIC X(04) VALUE 'SPTD'.
               10  W0001-HDG2-PD03-03  PIC X(04) VALUE 'SPTD'.
               10  W0001-HDG2-PD03-04  PIC X(04) VALUE ' ACT'.
               10  W0001-HDG2-PD03-05  PIC X(04) VALUE 'FCST'.
               10  W0001-HDG2-PD03-06  PIC X(04) VALUE ' ACT'.
               10  W0001-HDG2-PD03-07  PIC X(04) VALUE 'FCST'.
               10  W0001-HDG2-PD03-08  PIC X(04) VALUE 'FCST'.
               10  W0001-HDG2-PD03-09  PIC X(04) VALUE 'FCST'.
               10  W0001-HDG2-PD03-10  PIC X(04) VALUE 'FCST'.
               10  W0001-HDG2-PD03-11  PIC X(04) VALUE 'FCST'.


           05  W0001-HDG1-PD03A.
               10  W0001-HDG1-PD03A-01 PIC X(04) VALUE '    '.
               10  W0001-HDG1-PD03A-02 PIC X(04) VALUE 'TOT '.
               10  W0001-HDG1-PD03A-03 PIC X(04) VALUE ' FY '.
               10  W0001-HDG1-PD03A-04 PIC X(04) VALUE ' P3 '.
               10  W0001-HDG1-PD03A-05 PIC X(04) VALUE ' P3 '.
               10  W0001-HDG1-PD03A-06 PIC X(04) VALUE ' Q1 '.
               10  W0001-HDG1-PD03A-07 PIC X(04) VALUE ' Q1 '.
               10  W0001-HDG1-PD03A-08 PIC X(04) VALUE ' Q2 '.
               10  W0001-HDG1-PD03A-09 PIC X(04) VALUE ' Q3 '.
               10  W0001-HDG1-PD03A-10 PIC X(04) VALUE ' Q4 '.
               10  W0001-HDG1-PD03A-11 PIC X(04) VALUE ' FY '.

           05  W0001-HDG2-PD03A.
               10  W0001-HDG2-PD03A-01 PIC X(04) VALUE 'PA$ '.
               10  W0001-HDG2-PD03A-02 PIC X(04) VALUE 'SPTD'.
               10  W0001-HDG2-PD03A-03 PIC X(04) VALUE 'SPTD'.
               10  W0001-HDG2-PD03A-04 PIC X(04) VALUE ' ACT'.
               10  W0001-HDG2-PD03A-05 PIC X(04) VALUE 'FCST'.
               10  W0001-HDG2-PD03A-06 PIC X(04) VALUE ' ACT'.
               10  W0001-HDG2-PD03A-07 PIC X(04) VALUE 'FCST'.
               10  W0001-HDG2-PD03A-08 PIC X(04) VALUE 'FCST'.
               10  W0001-HDG2-PD03A-09 PIC X(04) VALUE 'FCST'.
               10  W0001-HDG2-PD03A-10 PIC X(04) VALUE 'FCST'.
               10  W0001-HDG2-PD03A-11 PIC X(04) VALUE 'FCST'.

           05  W0001-HDG1-PD04.
               10  W0001-HDG1-PD04-01  PIC X(04) VALUE '    '.
               10  W0001-HDG1-PD04-02  PIC X(04) VALUE 'TOT '.
               10  W0001-HDG1-PD04-03  PIC X(04) VALUE ' FY '.
               10  W0001-HDG1-PD04-04  PIC X(04) VALUE ' Q1 '.
               10  W0001-HDG1-PD04-05  PIC X(04) VALUE ' P4 '.
               10  W0001-HDG1-PD04-06  PIC X(04) VALUE ' P4 '.
               10  W0001-HDG1-PD04-07  PIC X(04) VALUE ' P5 '.
               10  W0001-HDG1-PD04-08  PIC X(04) VALUE ' P6 '.
               10  W0001-HDG1-PD04-09  PIC X(04) VALUE ' Q2 '.
               10  W0001-HDG1-PD04-10  PIC X(04) VALUE ' Q3 '.
               10  W0001-HDG1-PD04-11  PIC X(04) VALUE ' Q4 '.

           05  W0001-HDG2-PD04.
               10  W0001-HDG2-PD04-01  PIC X(04) VALUE 'PA$ '.
               10  W0001-HDG2-PD04-02  PIC X(04) VALUE 'SPTD'.
               10  W0001-HDG2-PD04-03  PIC X(04) VALUE 'SPTD'.
               10  W0001-HDG2-PD04-04  PIC X(04) VALUE ' ACT'.
               10  W0001-HDG2-PD04-05  PIC X(04) VALUE ' ACT'.
               10  W0001-HDG2-PD04-06  PIC X(04) VALUE 'FCST'.
               10  W0001-HDG2-PD04-07  PIC X(04) VALUE 'FCST'.
               10  W0001-HDG2-PD04-08  PIC X(04) VALUE 'FCST'.
               10  W0001-HDG2-PD04-09  PIC X(04) VALUE 'FCST'.
               10  W0001-HDG2-PD04-10  PIC X(04) VALUE 'FCST'.
               10  W0001-HDG2-PD04-11  PIC X(04) VALUE 'FCST'.


           05  W0001-HDG1-PD05.
               10  W0001-HDG1-PD05-01  PIC X(04) VALUE '    '.
               10  W0001-HDG1-PD05-02  PIC X(04) VALUE 'TOT '.
               10  W0001-HDG1-PD05-03  PIC X(04) VALUE ' FY '.
               10  W0001-HDG1-PD05-04  PIC X(04) VALUE ' Q1 '.
               10  W0001-HDG1-PD05-05  PIC X(04) VALUE ' P4 '.
               10  W0001-HDG1-PD05-06  PIC X(04) VALUE ' P5 '.
               10  W0001-HDG1-PD05-07  PIC X(04) VALUE ' P5 '.
               10  W0001-HDG1-PD05-08  PIC X(04) VALUE ' P6 '.
               10  W0001-HDG1-PD05-09  PIC X(04) VALUE ' Q2 '.
               10  W0001-HDG1-PD05-10  PIC X(04) VALUE ' Q3 '.
               10  W0001-HDG1-PD05-11  PIC X(04) VALUE ' Q4 '.

           05  W0001-HDG2-PD05.
               10  W0001-HDG2-PD05-01  PIC X(04) VALUE 'PA$ '.
               10  W0001-HDG2-PD05-02  PIC X(04) VALUE 'SPTD'.
               10  W0001-HDG2-PD05-03  PIC X(04) VALUE 'SPTD'.
               10  W0001-HDG2-PD05-04  PIC X(04) VALUE ' ACT'.
               10  W0001-HDG2-PD05-05  PIC X(04) VALUE ' ACT'.
               10  W0001-HDG2-PD05-06  PIC X(04) VALUE ' ACT'.
               10  W0001-HDG2-PD05-07  PIC X(04) VALUE 'FCST'.
               10  W0001-HDG2-PD05-08  PIC X(04) VALUE 'FCST'.
               10  W0001-HDG2-PD05-09  PIC X(04) VALUE 'FCST'.
               10  W0001-HDG2-PD05-10  PIC X(04) VALUE 'FCST'.
               10  W0001-HDG2-PD05-11  PIC X(04) VALUE 'FCST'.


           05  W0001-HDG1-PD06.
               10  W0001-HDG1-PD06-01  PIC X(04) VALUE '    '.
               10  W0001-HDG1-PD06-02  PIC X(04) VALUE 'TOT '.
               10  W0001-HDG1-PD06-03  PIC X(04) VALUE ' FY '.
               10  W0001-HDG1-PD06-04  PIC X(04) VALUE ' P6 '.
               10  W0001-HDG1-PD06-05  PIC X(04) VALUE ' P6 '.
               10  W0001-HDG1-PD06-06  PIC X(04) VALUE ' Q2 '.
               10  W0001-HDG1-PD06-07  PIC X(04) VALUE ' Q2 '.
               10  W0001-HDG1-PD06-08  PIC X(04) VALUE ' P7 '.
               10  W0001-HDG1-PD06-09  PIC X(04) VALUE ' P8 '.
               10  W0001-HDG1-PD06-10  PIC X(04) VALUE ' P9 '.
               10  W0001-HDG1-PD06-11  PIC X(04) VALUE ' Q3 '.

           05  W0001-HDG2-PD06.
               10  W0001-HDG2-PD06-01  PIC X(04) VALUE 'PA$ '.
               10  W0001-HDG2-PD06-02  PIC X(04) VALUE 'SPTD'.
               10  W0001-HDG2-PD06-03  PIC X(04) VALUE 'SPTD'.
               10  W0001-HDG2-PD06-04  PIC X(04) VALUE ' ACT'.
               10  W0001-HDG2-PD06-05  PIC X(04) VALUE 'FCST'.
               10  W0001-HDG2-PD06-06  PIC X(04) VALUE ' ACT'.
               10  W0001-HDG2-PD06-07  PIC X(04) VALUE 'FCST'.
               10  W0001-HDG2-PD06-08  PIC X(04) VALUE 'FCST'.
               10  W0001-HDG2-PD06-09  PIC X(04) VALUE 'FCST'.
               10  W0001-HDG2-PD06-10  PIC X(04) VALUE 'FCST'.
               10  W0001-HDG2-PD06-11  PIC X(04) VALUE 'FCST'.


           05  W0001-HDG1-PD06A.
               10  W0001-HDG1-PD06A-01 PIC X(04) VALUE '    '.
               10  W0001-HDG1-PD06A-02 PIC X(04) VALUE 'TOT '.
               10  W0001-HDG1-PD06A-03 PIC X(04) VALUE ' FY '.
               10  W0001-HDG1-PD06A-04 PIC X(04) VALUE ' P6 '.
               10  W0001-HDG1-PD06A-05 PIC X(04) VALUE ' P6 '.
               10  W0001-HDG1-PD06A-06 PIC X(04) VALUE ' Q2 '.
               10  W0001-HDG1-PD06A-07 PIC X(04) VALUE ' Q2 '.
               10  W0001-HDG1-PD06A-08 PIC X(04) VALUE ' Q3 '.
               10  W0001-HDG1-PD06A-09 PIC X(04) VALUE ' Q4 '.
               10  W0001-HDG1-PD06A-10 PIC X(04) VALUE ' FY '.
               10  W0001-HDG1-PD06A-11 PIC X(04) VALUE '    '.

           05  W0001-HDG2-PD06A.
               10  W0001-HDG2-PD06A-01 PIC X(04) VALUE 'PA$ '.
               10  W0001-HDG2-PD06A-02 PIC X(04) VALUE 'SPTD'.
               10  W0001-HDG2-PD06A-03 PIC X(04) VALUE 'SPTD'.
               10  W0001-HDG2-PD06A-04 PIC X(04) VALUE ' ACT'.
               10  W0001-HDG2-PD06A-05 PIC X(04) VALUE 'FCST'.
               10  W0001-HDG2-PD06A-06 PIC X(04) VALUE ' ACT'.
               10  W0001-HDG2-PD06A-07 PIC X(04) VALUE 'FCST'.
               10  W0001-HDG2-PD06A-08 PIC X(04) VALUE 'FCST'.
               10  W0001-HDG2-PD06A-09 PIC X(04) VALUE 'FCST'.
               10  W0001-HDG2-PD06A-10 PIC X(04) VALUE 'FCST'.
               10  W0001-HDG2-PD06A-11 PIC X(04) VALUE '    '.

           05  W0001-HDG1-PD07.
               10  W0001-HDG1-PD07-01  PIC X(04) VALUE '    '.
               10  W0001-HDG1-PD07-02  PIC X(04) VALUE 'TOT '.
               10  W0001-HDG1-PD07-03  PIC X(04) VALUE ' FY '.
               10  W0001-HDG1-PD07-04  PIC X(04) VALUE ' Q1 '.
               10  W0001-HDG1-PD07-05  PIC X(04) VALUE ' Q2 '.
               10  W0001-HDG1-PD07-06  PIC X(04) VALUE ' P7 '.
               10  W0001-HDG1-PD07-07  PIC X(04) VALUE ' P7 '.
               10  W0001-HDG1-PD07-08  PIC X(04) VALUE ' P8 '.
               10  W0001-HDG1-PD07-09  PIC X(04) VALUE ' P9 '.
               10  W0001-HDG1-PD07-10  PIC X(04) VALUE ' Q3 '.
               10  W0001-HDG1-PD07-11  PIC X(04) VALUE ' Q4 '.

           05  W0001-HDG2-PD07.
               10  W0001-HDG2-PD07-01  PIC X(04) VALUE 'PA$ '.
               10  W0001-HDG2-PD07-02  PIC X(04) VALUE 'SPTD'.
               10  W0001-HDG2-PD07-03  PIC X(04) VALUE 'SPTD'.
               10  W0001-HDG2-PD07-04  PIC X(04) VALUE ' ACT'.
               10  W0001-HDG2-PD07-05  PIC X(04) VALUE ' ACT'.
               10  W0001-HDG2-PD07-06  PIC X(04) VALUE ' ACT'.
               10  W0001-HDG2-PD07-07  PIC X(04) VALUE 'FCST'.
               10  W0001-HDG2-PD07-08  PIC X(04) VALUE 'FCST'.
               10  W0001-HDG2-PD07-09  PIC X(04) VALUE 'FCST'.
               10  W0001-HDG2-PD07-10  PIC X(04) VALUE 'FCST'.
               10  W0001-HDG2-PD07-11  PIC X(04) VALUE 'FCST'.


           05  W0001-HDG1-PD08.
               10  W0001-HDG1-PD08-01  PIC X(04) VALUE '    '.
               10  W0001-HDG1-PD08-02  PIC X(04) VALUE 'TOT '.
               10  W0001-HDG1-PD08-03  PIC X(04) VALUE ' FY '.
               10  W0001-HDG1-PD08-04  PIC X(04) VALUE ' Q1 '.
               10  W0001-HDG1-PD08-05  PIC X(04) VALUE ' Q2 '.
               10  W0001-HDG1-PD08-06  PIC X(04) VALUE ' P7 '.
               10  W0001-HDG1-PD08-07  PIC X(04) VALUE ' P8 '.
               10  W0001-HDG1-PD08-08  PIC X(04) VALUE ' P8 '.
               10  W0001-HDG1-PD08-09  PIC X(04) VALUE ' P9 '.
               10  W0001-HDG1-PD08-10  PIC X(04) VALUE ' Q3 '.
               10  W0001-HDG1-PD08-11  PIC X(04) VALUE ' Q4 '.

           05  W0001-HDG2-PD08.
               10  W0001-HDG2-PD08-01  PIC X(04) VALUE 'PA$ '.
               10  W0001-HDG2-PD08-02  PIC X(04) VALUE 'SPTD'.
               10  W0001-HDG2-PD08-03  PIC X(04) VALUE 'SPTD'.
               10  W0001-HDG2-PD08-04  PIC X(04) VALUE ' ACT'.
               10  W0001-HDG2-PD08-05  PIC X(04) VALUE ' ACT'.
               10  W0001-HDG2-PD08-06  PIC X(04) VALUE ' ACT'.
               10  W0001-HDG2-PD08-07  PIC X(04) VALUE ' ACT'.
               10  W0001-HDG2-PD08-08  PIC X(04) VALUE 'FCST'.
               10  W0001-HDG2-PD08-09  PIC X(04) VALUE 'FCST'.
               10  W0001-HDG2-PD08-10  PIC X(04) VALUE 'FCST'.
               10  W0001-HDG2-PD08-11  PIC X(04) VALUE 'FCST'.


           05  W0001-HDG1-PD09.
               10  W0001-HDG1-PD09-01  PIC X(04) VALUE '    '.
               10  W0001-HDG1-PD09-02  PIC X(04) VALUE 'TOT '.
               10  W0001-HDG1-PD09-03  PIC X(04) VALUE ' FY '.
               10  W0001-HDG1-PD09-04  PIC X(04) VALUE ' P9 '.
               10  W0001-HDG1-PD09-05  PIC X(04) VALUE ' P9 '.
               10  W0001-HDG1-PD09-06  PIC X(04) VALUE ' Q3 '.
               10  W0001-HDG1-PD09-07  PIC X(04) VALUE ' Q3 '.
               10  W0001-HDG1-PD09-08  PIC X(04) VALUE ' P10'.
               10  W0001-HDG1-PD09-09  PIC X(04) VALUE ' P11'.
               10  W0001-HDG1-PD09-10  PIC X(04) VALUE ' P12'.
               10  W0001-HDG1-PD09-11  PIC X(04) VALUE ' Q4 '.

           05  W0001-HDG2-PD09.
               10  W0001-HDG2-PD09-01  PIC X(04) VALUE 'PA$ '.
               10  W0001-HDG2-PD09-02  PIC X(04) VALUE 'SPTD'.
               10  W0001-HDG2-PD09-03  PIC X(04) VALUE 'SPTD'.
               10  W0001-HDG2-PD09-04  PIC X(04) VALUE ' ACT'.
               10  W0001-HDG2-PD09-05  PIC X(04) VALUE 'FCST'.
               10  W0001-HDG2-PD09-06  PIC X(04) VALUE ' ACT'.
               10  W0001-HDG2-PD09-07  PIC X(04) VALUE 'FCST'.
               10  W0001-HDG2-PD09-08  PIC X(04) VALUE 'FCST'.
               10  W0001-HDG2-PD09-09  PIC X(04) VALUE 'FCST'.
               10  W0001-HDG2-PD09-10  PIC X(04) VALUE 'FCST'.
               10  W0001-HDG2-PD09-11  PIC X(04) VALUE 'FCST'.


           05  W0001-HDG1-PD09A.
               10  W0001-HDG1-PD09A-01 PIC X(04) VALUE '    '.
               10  W0001-HDG1-PD09A-02 PIC X(04) VALUE 'TOT '.
               10  W0001-HDG1-PD09A-03 PIC X(04) VALUE ' FY '.
               10  W0001-HDG1-PD09A-04 PIC X(04) VALUE ' P9 '.
               10  W0001-HDG1-PD09A-05 PIC X(04) VALUE ' P9 '.
               10  W0001-HDG1-PD09A-06 PIC X(04) VALUE ' Q3 '.
               10  W0001-HDG1-PD09A-07 PIC X(04) VALUE ' Q3 '.
               10  W0001-HDG1-PD09A-08 PIC X(04) VALUE ' Q4 '.
               10  W0001-HDG1-PD09A-09 PIC X(04) VALUE ' FY '.
               10  W0001-HDG1-PD09A-10 PIC X(04) VALUE ' Q1 '.
               10  W0001-HDG1-PD09A-11 PIC X(04) VALUE '    '.

           05  W0001-HDG2-PD09A.
               10  W0001-HDG2-PD09A-01 PIC X(04) VALUE 'PA$ '.
               10  W0001-HDG2-PD09A-02 PIC X(04) VALUE 'SPTD'.
               10  W0001-HDG2-PD09A-03 PIC X(04) VALUE 'SPTD'.
               10  W0001-HDG2-PD09A-04 PIC X(04) VALUE ' ACT'.
               10  W0001-HDG2-PD09A-05 PIC X(04) VALUE 'FCST'.
               10  W0001-HDG2-PD09A-06 PIC X(04) VALUE ' ACT'.
               10  W0001-HDG2-PD09A-07 PIC X(04) VALUE 'FCST'.
               10  W0001-HDG2-PD09A-08 PIC X(04) VALUE 'FCST'.
               10  W0001-HDG2-PD09A-09 PIC X(04) VALUE 'FCST'.
               10  W0001-HDG2-PD09A-10 PIC X(04) VALUE 'FCST'.
               10  W0001-HDG2-PD09A-11 PIC X(04) VALUE '    '.


           05  W0001-HDG1-PD10.
               10  W0001-HDG1-PD10-01  PIC X(04) VALUE '    '.
               10  W0001-HDG1-PD10-02  PIC X(04) VALUE 'TOT '.
               10  W0001-HDG1-PD10-03  PIC X(04) VALUE ' FY '.
               10  W0001-HDG1-PD10-04  PIC X(04) VALUE ' 1H '.
               10  W0001-HDG1-PD10-05  PIC X(04) VALUE ' Q3 '.
               10  W0001-HDG1-PD10-06  PIC X(04) VALUE ' P10'.
               10  W0001-HDG1-PD10-07  PIC X(04) VALUE 'P10 '.
               10  W0001-HDG1-PD10-08  PIC X(04) VALUE 'P11 '.
               10  W0001-HDG1-PD10-09  PIC X(04) VALUE 'P12 '.
               10  W0001-HDG1-PD10-10  PIC X(04) VALUE ' Q4 '.
               10  W0001-HDG1-PD10-11  PIC X(04) VALUE ' Q1 '.

           05  W0001-HDG2-PD10.
               10  W0001-HDG2-PD10-01  PIC X(04) VALUE 'PA$ '.
               10  W0001-HDG2-PD10-02  PIC X(04) VALUE 'SPTD'.
               10  W0001-HDG2-PD10-03  PIC X(04) VALUE 'SPTD'.
               10  W0001-HDG2-PD10-04  PIC X(04) VALUE ' ACT'.
               10  W0001-HDG2-PD10-05  PIC X(04) VALUE ' ACT'.
               10  W0001-HDG2-PD10-06  PIC X(04) VALUE ' ACT'.
               10  W0001-HDG2-PD10-07  PIC X(04) VALUE 'FCST'.
               10  W0001-HDG2-PD10-08  PIC X(04) VALUE 'FCST'.
               10  W0001-HDG2-PD10-09  PIC X(04) VALUE 'FCST'.
               10  W0001-HDG2-PD10-10  PIC X(04) VALUE 'FCST'.
               10  W0001-HDG2-PD10-11  PIC X(04) VALUE 'FCST'.


           05  W0001-HDG1-PD11.
               10  W0001-HDG1-PD11-01  PIC X(04) VALUE '    '.
               10  W0001-HDG1-PD11-02  PIC X(04) VALUE 'TOT '.
               10  W0001-HDG1-PD11-03  PIC X(04) VALUE ' FY '.
               10  W0001-HDG1-PD11-04  PIC X(04) VALUE ' 1H '.
               10  W0001-HDG1-PD11-05  PIC X(04) VALUE ' Q3 '.
               10  W0001-HDG1-PD11-06  PIC X(04) VALUE ' P10'.
               10  W0001-HDG1-PD11-07  PIC X(04) VALUE ' P11'.
               10  W0001-HDG1-PD11-08  PIC X(04) VALUE 'P11 '.
               10  W0001-HDG1-PD11-09  PIC X(04) VALUE 'P12 '.
               10  W0001-HDG1-PD11-10  PIC X(04) VALUE ' Q4 '.
               10  W0001-HDG1-PD11-11  PIC X(04) VALUE ' Q1 '.

           05  W0001-HDG2-PD11.
               10  W0001-HDG2-PD11-01  PIC X(04) VALUE 'PA$ '.
               10  W0001-HDG2-PD11-02  PIC X(04) VALUE 'SPTD'.
               10  W0001-HDG2-PD11-03  PIC X(04) VALUE 'SPTD'.
               10  W0001-HDG2-PD11-04  PIC X(04) VALUE ' ACT'.
               10  W0001-HDG2-PD11-05  PIC X(04) VALUE ' ACT'.
               10  W0001-HDG2-PD11-06  PIC X(04) VALUE ' ACT'.
               10  W0001-HDG2-PD11-07  PIC X(04) VALUE ' ACT'.
               10  W0001-HDG2-PD11-08  PIC X(04) VALUE 'FCST'.
               10  W0001-HDG2-PD11-09  PIC X(04) VALUE 'FCST'.
               10  W0001-HDG2-PD11-10  PIC X(04) VALUE 'FCST'.
               10  W0001-HDG2-PD11-11  PIC X(04) VALUE 'FCST'.


           05  W0001-HDG1-PD12.
               10  W0001-HDG1-PD12-01  PIC X(04) VALUE '    '.
               10  W0001-HDG1-PD12-02  PIC X(04) VALUE 'TOT '.
               10  W0001-HDG1-PD12-03  PIC X(04) VALUE ' FY '.
               10  W0001-HDG1-PD12-04  PIC X(04) VALUE ' P12'.
               10  W0001-HDG1-PD12-05  PIC X(04) VALUE 'P12 '.
               10  W0001-HDG1-PD12-06  PIC X(04) VALUE ' Q4 '.
               10  W0001-HDG1-PD12-07  PIC X(04) VALUE ' Q4 '.
               10  W0001-HDG1-PD12-08  PIC X(04) VALUE ' P1 '.
               10  W0001-HDG1-PD12-09  PIC X(04) VALUE ' P2 '.
               10  W0001-HDG1-PD12-10  PIC X(04) VALUE ' P3 '.
               10  W0001-HDG1-PD12-11  PIC X(04) VALUE ' Q1 '.

           05  W0001-HDG2-PD12.
               10  W0001-HDG2-PD12-01  PIC X(04) VALUE 'PA$ '.
               10  W0001-HDG2-PD12-02  PIC X(04) VALUE 'SPTD'.
               10  W0001-HDG2-PD12-03  PIC X(04) VALUE 'SPTD'.
               10  W0001-HDG2-PD12-04  PIC X(04) VALUE ' ACT'.
               10  W0001-HDG2-PD12-05  PIC X(04) VALUE 'FCST'.
               10  W0001-HDG2-PD12-06  PIC X(04) VALUE ' ACT'.
               10  W0001-HDG2-PD12-07  PIC X(04) VALUE 'FCST'.
               10  W0001-HDG2-PD12-08  PIC X(04) VALUE 'FCST'.
               10  W0001-HDG2-PD12-09  PIC X(04) VALUE 'FCST'.
               10  W0001-HDG2-PD12-10  PIC X(04) VALUE 'FCST'.
               10  W0001-HDG2-PD12-11  PIC X(04) VALUE 'FCST'.


           05  W0001-HDG1-PD12A.
               10  W0001-HDG1-PD12A-01 PIC X(04) VALUE '    '.
               10  W0001-HDG1-PD12A-02 PIC X(04) VALUE 'TOT '.
               10  W0001-HDG1-PD12A-03 PIC X(04) VALUE ' FY '.
               10  W0001-HDG1-PD12A-04 PIC X(04) VALUE ' P12'.
               10  W0001-HDG1-PD12A-05 PIC X(04) VALUE 'P12 '.
               10  W0001-HDG1-PD12A-06 PIC X(04) VALUE ' Q4 '.
               10  W0001-HDG1-PD12A-07 PIC X(04) VALUE ' Q4 '.
               10  W0001-HDG1-PD12A-08 PIC X(04) VALUE ' Q1 '.
               10  W0001-HDG1-PD12A-09 PIC X(04) VALUE ' Q2 '.
               10  W0001-HDG1-PD12A-10 PIC X(04) VALUE ' Q3 '.
               10  W0001-HDG1-PD12A-11 PIC X(04) VALUE ' Q4 '.

           05  W0001-HDG2-PD12A.
               10  W0001-HDG2-PD12A-01 PIC X(04) VALUE 'PA$ '.
               10  W0001-HDG2-PD12A-02 PIC X(04) VALUE 'SPTD'.
               10  W0001-HDG2-PD12A-03 PIC X(04) VALUE 'SPTD'.
               10  W0001-HDG2-PD12A-04 PIC X(04) VALUE ' ACT'.
               10  W0001-HDG2-PD12A-05 PIC X(04) VALUE 'FCST'.
               10  W0001-HDG2-PD12A-06 PIC X(04) VALUE ' ACT'.
               10  W0001-HDG2-PD12A-07 PIC X(04) VALUE 'FCST'.
               10  W0001-HDG2-PD12A-08 PIC X(04) VALUE 'FCST'.
               10  W0001-HDG2-PD12A-09 PIC X(04) VALUE 'FCST'.
               10  W0001-HDG2-PD12A-10 PIC X(04) VALUE 'FCST'.
               10  W0001-HDG2-PD12A-11 PIC X(04) VALUE 'FCST'.

       01  W0002-VALUES.
           05  W0002-P-ACT-A         PIC  S9(9)V  COMP-3 VALUE +0.
           05  W0002-P-TOT-A         PIC  S9(9)V  COMP-3 VALUE +0.
           05  W0002-P-ACTP01-A      PIC  S9(9)V  COMP-3 VALUE +0.
           05  W0002-P-ACTP02-A      PIC  S9(9)V  COMP-3 VALUE +0.
           05  W0002-P-ACTP03-A      PIC  S9(9)V  COMP-3 VALUE +0.
           05  W0002-P-ACTQ01-A      PIC  S9(9)V  COMP-3 VALUE +0.
           05  W0002-P-ACTH01-A      PIC  S9(9)V  COMP-3 VALUE +0.

       01  W0003-VALUES.
           05  W0003-F-FCSP01-A      PIC  S9(9)V  COMP-3 VALUE +0.
           05  W0003-P-ACTP01-A      PIC  S9(9)V  COMP-3 VALUE +0.
           05  W0003-P-ACTP02-A      PIC  S9(9)V  COMP-3 VALUE +0.
           05  W0003-P-ACTP03-A      PIC  S9(9)V  COMP-3 VALUE +0.
           05  W0003-P-ACTP04-A      PIC  S9(9)V  COMP-3 VALUE +0.
           05  W0003-P-ACTP05-A      PIC  S9(9)V  COMP-3 VALUE +0.
           05  W0003-P-ACTP06-A      PIC  S9(9)V  COMP-3 VALUE +0.
           05  W0003-P-ACTP07-A      PIC  S9(9)V  COMP-3 VALUE +0.
           05  W0003-P-ACTP08-A      PIC  S9(9)V  COMP-3 VALUE +0.
           05  W0003-P-ACTP09-A      PIC  S9(9)V  COMP-3 VALUE +0.
           05  W0003-P-ACTP10-A      PIC  S9(9)V  COMP-3 VALUE +0.
           05  W0003-P-ACTP11-A      PIC  S9(9)V  COMP-3 VALUE +0.
           05  W0003-P-ACTP12-A      PIC  S9(9)V  COMP-3 VALUE +0.

       01  W0004-VALUES.
           05  W0004-F-FCSP00-A      PIC  S9(9)V  COMP-3 VALUE +0.
           05  W0004-F-FCSP01-A      PIC  S9(9)V  COMP-3 VALUE +0.
           05  W0004-F-FCSP02-A      PIC  S9(9)V  COMP-3 VALUE +0.
           05  W0004-F-FCSP03-A      PIC  S9(9)V  COMP-3 VALUE +0.
           05  W0004-F-FCSP04-A      PIC  S9(9)V  COMP-3 VALUE +0.
           05  W0004-F-FCSP05-A      PIC  S9(9)V  COMP-3 VALUE +0.
           05  W0004-F-FCSQ02-A      PIC  S9(9)V  COMP-3 VALUE +0.
           05  W0004-F-FCSQ03-A      PIC  S9(9)V  COMP-3 VALUE +0.
           05  W0004-F-FCSQ04-A      PIC  S9(9)V  COMP-3 VALUE +0.
           05  W0004-F-FCSQ05-A      PIC  S9(9)V  COMP-3 VALUE +0.
           05  W0004-F-FCSACCR-A     PIC  S9(9)V  COMP-3 VALUE +0.

       01  W0005-VALUES.
           05  W0005-P-ACTP01-A      PIC  S9(9)V  COMP-3 VALUE +0.
           05  W0005-P-ACTP02-A      PIC  S9(9)V  COMP-3 VALUE +0.
           05  W0005-P-ACTP03-A      PIC  S9(9)V  COMP-3 VALUE +0.
           05  W0005-H-ACTP01-A      PIC  S9(9)V  COMP-3 VALUE +0.
           05  W0005-H-ACTP02-A      PIC  S9(9)V  COMP-3 VALUE +0.
           05  W0005-H-ACTP03-A      PIC  S9(9)V  COMP-3 VALUE +0.
           05  W0005-H-ACTP04-A      PIC  S9(9)V  COMP-3 VALUE +0.
           05  W0005-H-ACTP05-A      PIC  S9(9)V  COMP-3 VALUE +0.
           05  W0005-H-ACTP06-A      PIC  S9(9)V  COMP-3 VALUE +0.
           05  W0005-H-ACTP07-A      PIC  S9(9)V  COMP-3 VALUE +0.
           05  W0005-H-ACTP08-A      PIC  S9(9)V  COMP-3 VALUE +0.
           05  W0005-H-ACTP09-A      PIC  S9(9)V  COMP-3 VALUE +0.

           EJECT
           COPY C108WTXN.

           EJECT
      **===========================================================**
      **   DATE ROUTINE.                                           **
      **===========================================================**
           COPY NSDTREC.

           EJECT
      ***************************************************************
      *                                                             *
      *    PROGRAM MAP AREA                                         *
      *                                                             *
      ***************************************************************
           COPY M108M15.


           EJECT
      ***************************************************************
      *                                                             *
      *    CICS COPYBOOKS AREA                                      *
      *                                                             *
      ***************************************************************
           COPY C108CDBA.

           EJECT
           COPY DFHAID.

           EJECT
           COPY C751CONW.

           EJECT
           COPY C108MSGS.

           EJECT
           COPY C108W900.

           EJECT
           COPY C108W998.

           EJECT
           COPY D972ERRM.


           EJECT
      ***************************************************************
      *                                                             *
      *    WORKING STORAGE COMMAREA                                 *
      *                                                             *
      ***************************************************************
           COPY C108COMM.
               10  MAP-SAVE-AREA REDEFINES CA-MAP-SAVE-AREA.
                   15  WS-M-KEY.
                       20  WS-M-DPT-CI         PIC X(004).
                       20  WS-M-SUBDPT-CI      PIC X(003).
                       20  WS-M-EXPTYP-CI      PIC X(002).
                       20  WS-M-EXPSUBTYP-CI   PIC X(003).

                   15  WS-M-MAX-VALUES.
                       20  WS-M-MAX-EXPTYP-C  PIC X(002).
                       20  WS-M-MAX-SUBTYP-C  PIC X(003).
                       20  WS-M-MAX-FCSID-N   PIC S9(05).

                   15  WS-M-MIN-VALUES.
                       20  WS-M-MIN-EXPTYP-C  PIC X(002).
                       20  WS-M-MIN-SUBTYP-C  PIC X(003).
                       20  WS-M-MIN-FCSID-N   PIC S9(05).

                   15  WS-M-DATA-VALUES OCCURS 13 TIMES.
                       20  WS-M-F-PRJ-N       PIC  X(10).
                       20  WS-M-F-FCSID-N     PIC S9(05).
                       20  WS-M-F-PRJ-X       PIC  X(30).
                       20  WS-M-F-EXPTYP-C    PIC  X(02).
                       20  WS-M-F-SUBTYP-C    PIC  X(03).
                       20  WS-M-F-FCSP00-A    PIC S9(04)V      COMP-3.
                       20  WS-M-F-FCSP01-A    PIC S9(04)V      COMP-3.
                       20  WS-M-F-FCSP02-A    PIC S9(04)V      COMP-3.
                       20  WS-M-F-FCSP03-A    PIC S9(04)V      COMP-3.
                       20  WS-M-F-FCSP04-A    PIC S9(04)V      COMP-3.
                       20  WS-M-F-FCSP05-A    PIC S9(04)V      COMP-3.
                       20  WS-M-F-FCSQ02-A    PIC S9(04)V      COMP-3.
                       20  WS-M-F-FCSQ03-A    PIC S9(04)V      COMP-3.
                       20  WS-M-F-FCSQ04-A    PIC S9(04)V      COMP-3.
                       20  WS-M-F-FCSQ05-A    PIC S9(04)V      COMP-3.

                   15  WS-P-PREV-VALUES OCCURS 13 TIMES.
                       20  WS-P-F-FCSP00-A    PIC S9(04)V      COMP-3.
                       20  WS-P-F-FCSP01-A    PIC S9(04)V      COMP-3.
                       20  WS-P-F-FCSP02-A    PIC S9(04)V      COMP-3.
                       20  WS-P-F-FCSP03-A    PIC S9(04)V      COMP-3.
                       20  WS-P-F-FCSP04-A    PIC S9(04)V      COMP-3.
                       20  WS-P-F-FCSP05-A    PIC S9(04)V      COMP-3.
                       20  WS-P-F-FCSQ02-A    PIC S9(04)V      COMP-3.
                       20  WS-P-F-FCSQ03-A    PIC S9(04)V      COMP-3.
                       20  WS-P-F-FCSQ04-A    PIC S9(04)V      COMP-3.
                       20  WS-P-F-FCSQ05-A    PIC S9(04)V      COMP-3.

                   15  WS-ACTIVE-DISPLAY-SW       PIC  X(01).
                       88  DISPLAY-FORECASTS      VALUE 'F'.
                       88  DISPLAY-PROJECTS       VALUE 'P'.

                   15  WS-FORECAST-DISPLAY-SW     PIC  X(01).
                       88  DISPLAY-NORMAL-FCSTS   VALUE 'N'.
                       88  DISPLAY-EXPANDED-FCSTS VALUE 'E'.

           EJECT
      ***************************************************************
      *                                                             *
      *    DB2 INCLUDES                                             *
      *                                                             *
      ***************************************************************

           EXEC SQL
                INCLUDE SQLCA
           END-EXEC.

           EJECT
           EXEC SQL
                INCLUDE TFPRJHDR
           END-EXEC.

           EJECT
           EXEC SQL
                INCLUDE TFFCSHDR
           END-EXEC.

           EJECT
           EXEC SQL
                INCLUDE TFFCSHST
           END-EXEC.

           EJECT
           EXEC SQL
                INCLUDE TFRGN
           END-EXEC.

           EJECT
           EXEC SQL
                INCLUDE TFPRODLN
           END-EXEC.

           EJECT
           EXEC SQL
                INCLUDE TFEXPTYP
           END-EXEC.

           EJECT
           EXEC SQL
                INCLUDE TFSECPRD
           END-EXEC.

           EJECT
           EXEC SQL
                INCLUDE TFSECACS
           END-EXEC.

           EJECT
           EXEC SQL
                INCLUDE TFAUDIT
           END-EXEC.

           EJECT
           EXEC SQL
                INCLUDE TFDFAULT
           END-EXEC.

           EJECT
      ***************************************************************
      *  CSR_1 IS THE FORWARD SCROLLING CURSOR FOR THE SCREEN.      *
      ***************************************************************
      *                                                             *
      *  THIS CURSOR WILL HANDLE MULTIPLE INPUT REQUEST TYPES       *
      *  WITHIN THE SAME CURSOR, AND PROVIDE SCROLLING OUTPUT OF    *
      *  DETAIL LINES AND SUBTOTALS.  THE PURPOSE OF THIS SCREEN    *
      *  IS TO PROVIDE AN UPDATE SCREEN WHICH MATCHES THE FORECAST  *
      *  DETAIL REPORT (P108MT79, P108MT89).  THE INPUT REQUEST     *
      *  TYPES ARE DESCRIBED BELOW, WITH A DESCRIPTION OF EACH      *
      *  INDIVIDUAL SELECT STATEMENT.                               *
      *                                                             *
      *    (1)  DEPT, SUB DEPT                                      *
      *         (1A) DETAIL LINES FOR ALL FORECASTS                 *
      *         (1B) SUBTOTALS FOR EXP TYPE, EXP SUB TYPE           *
      *         (1C) SUBTOTALS FOR EXP TYPE                         *
      *         (1D) SUBTOTALS FOR DEPT, SUB DEPT                   *
      *                                                             *
      *    (2)  DEPT, SUB DEPT, EXP TYPE                            *
      *         (2A) DETAIL LINES FOR ALL FORECASTS                 *
      *         (2B) SUBTOTALS FOR EXP TYPE, EXP SUB TYPE           *
      *         (2C) SUBTOTALS FOR EXP TYPE                         *
      *                                                             *
      *    (3)  DEPT, SUB DEPT, EXP TYPE, EXP SUB TYPE              *
      *         (3A) DETAIL LINES FOR ALL FORECASTS                 *
      *         (3B) SUBTOTALS FOR EXP TYPE, EXP SUB TYPE           *
      *                                                             *
      *    (4)  DEPT, ALL SUB DEPTS                                 *
      *         (4A) DETAIL LINES FOR ALL FORECASTS                 *
      *         (4B) SUBTOTALS FOR EXP TYPE, EXP SUB TYPE           *
      *         (4C) SUBTOTALS FOR EXP TYPE                         *
      *         (4D) SUBTOTALS FOR DEPT                             *
      *                                                             *
      *    (5)  DEPT, ALL SUB DEPTS, EXP TYPE                       *
      *         (5A) DETAIL LINES FOR ALL FORECASTS                 *
      *         (5B) SUBTOTALS FOR EXP TYPE, EXP SUB TYPE           *
      *         (5C) SUBTOTALS FOR EXP TYPE                         *
      *                                                             *
      *    (6)  DEPT, ALL SUB DEPTS, EXP TYPE, EXP SUB TYPE         *
      *         (6A) DETAIL LINES FOR ALL FORECASTS                 *
      *         (6B) SUBTOTALS FOR EXP TYPE, EXP SUB TYPE           *
      *                                                             *
      ***************************************************************
           EXEC SQL
             DECLARE CSR_1 CURSOR FOR

      ***************************************************************
      *  (1A) GET DETAIL LINES FOR ALL FORECASTS                    *
      *       FOR THE ENTERED DEPT, SUB DEPT                        *
      ***************************************************************
             SELECT '1A'
                  , F_EXPTYP_C
                  , F_EXPSUBTYP_C
                  , F_DPT_C
                  , F_SUBDPT_C
                  , F_FCSID_N
                  , F_FCSID_X
                  , F_FCSP00_A
                  , F_FCSP01_A
                  , F_FCSP02_A
                  , F_FCSP03_A
                  , F_FCSP04_A
                  , F_FCSP05_A
                  , F_FCSQ02_A
                  , F_FCSQ03_A
                  , F_FCSQ04_A
                  , F_FCSQ05_A

              FROM D108.TFFCSHDR

             WHERE F_MKTCRGN_C    = :DCLTFPRODLN.F-MKTCRGN-C
               AND F_DPT_C        = :DCLTFPRJHDR.F-DPT-C
               AND F_SUBDPT_C     = :DCLTFPRJHDR.F-SUBDPT-C
               AND '   '          = :DCLTFPRJHDR.F-EXPTYP-C
               AND '   '          = :DCLTFPRJHDR.F-EXPSUBTYP-C

               AND (( F_EXPTYP_C     = :DCLTFFCSHDR.F-EXPTYP-C
               AND    F_EXPSUBTYP_C  = :DCLTFFCSHDR.F-EXPSUBTYP-C
               AND    F_FCSID_N      < :DCLTFFCSHDR.F-FCSID-N )

               OR   ( F_EXPTYP_C     = :DCLTFFCSHDR.F-EXPTYP-C
               AND    F_EXPSUBTYP_C  > :DCLTFFCSHDR.F-EXPSUBTYP-C )

               OR   ( F_EXPTYP_C     > :DCLTFFCSHDR.F-EXPTYP-C ))

             UNION

      ***************************************************************
      *  (1B) GET SUBTOTALS FOR EXP TYPE, EXP SUB TYPE              *
      *       FOR THE ENTERED DEPT, SUB DEPT                        *
      ***************************************************************
             SELECT '1B'
                  , F_EXPTYP_C
                  , F_EXPSUBTYP_C
                  , F_DPT_C
                  , F_SUBDPT_C
                  , -66666
                  , '    TOTAL: '||F_EXPTYP_C||' '||F_EXPSUBTYP_C
                  , SUM(F_FCSP00_A)
                  , SUM(F_FCSP01_A)
                  , SUM(F_FCSP02_A)
                  , SUM(F_FCSP03_A)
                  , SUM(F_FCSP04_A)
                  , SUM(F_FCSP05_A)
                  , SUM(F_FCSQ02_A)
                  , SUM(F_FCSQ03_A)
                  , SUM(F_FCSQ04_A)
                  , SUM(F_FCSQ05_A)

              FROM D108.TFFCSHDR

             WHERE F_MKTCRGN_C    = :DCLTFPRODLN.F-MKTCRGN-C
               AND F_DPT_C        = :DCLTFPRJHDR.F-DPT-C
               AND F_SUBDPT_C     = :DCLTFPRJHDR.F-SUBDPT-C
               AND '   '          = :DCLTFPRJHDR.F-EXPTYP-C
               AND '   '          = :DCLTFPRJHDR.F-EXPSUBTYP-C

               AND (( F_EXPTYP_C     = :DCLTFFCSHDR.F-EXPTYP-C
               AND    F_EXPSUBTYP_C >= :DCLTFFCSHDR.F-EXPSUBTYP-C
               AND    -66666        ^= :DCLTFFCSHDR.F-FCSID-N )

               OR   ( F_EXPTYP_C     = :DCLTFFCSHDR.F-EXPTYP-C
               AND    F_EXPSUBTYP_C  > :DCLTFFCSHDR.F-EXPSUBTYP-C )

               OR   ( F_EXPTYP_C     > :DCLTFFCSHDR.F-EXPTYP-C ))

             GROUP BY F_EXPTYP_C
                    , F_EXPSUBTYP_C
                    , F_DPT_C
                    , F_SUBDPT_C

             UNION

      ***************************************************************
      *  (1C) GET SUBTOTALS FOR EXP TYPE                            *
      *       FOR THE ENTERED DEPT, SUB DEPT                        *
      ***************************************************************
             SELECT '1C'
                  , F_EXPTYP_C
                  , '999'
                  , F_DPT_C
                  , F_SUBDPT_C
                  , -77777
                  , '    TOTAL: '||F_EXPTYP_C
                  , SUM(F_FCSP00_A)
                  , SUM(F_FCSP01_A)
                  , SUM(F_FCSP02_A)
                  , SUM(F_FCSP03_A)
                  , SUM(F_FCSP04_A)
                  , SUM(F_FCSP05_A)
                  , SUM(F_FCSQ02_A)
                  , SUM(F_FCSQ03_A)
                  , SUM(F_FCSQ04_A)
                  , SUM(F_FCSQ05_A)

              FROM D108.TFFCSHDR

             WHERE F_MKTCRGN_C    = :DCLTFPRODLN.F-MKTCRGN-C
               AND F_DPT_C        = :DCLTFPRJHDR.F-DPT-C
               AND F_SUBDPT_C     = :DCLTFPRJHDR.F-SUBDPT-C
               AND '   '          = :DCLTFPRJHDR.F-EXPTYP-C
               AND '   '          = :DCLTFPRJHDR.F-EXPSUBTYP-C

               AND (( F_EXPTYP_C    >= :DCLTFFCSHDR.F-EXPTYP-C
               AND    -77777        ^= :DCLTFFCSHDR.F-FCSID-N )

                OR  ( F_EXPTYP_C     > :DCLTFFCSHDR.F-EXPTYP-C ))

             GROUP BY F_EXPTYP_C
                    , F_DPT_C
                    , F_SUBDPT_C

             UNION

      ***************************************************************
      *  (1D) GET SUBTOTALS FOR DEPT, SUB DEPT                      *
      *       FOR THE ENTERED DEPT, SUB DEPT                        *
      ***************************************************************
             SELECT '1D'
                  , '99'
                  , '999'
                  , F_DPT_C
                  , F_SUBDPT_C
                  , -88888
                  , '    TOTAL: '||F_DPT_C||' '||F_SUBDPT_C
                  , SUM(F_FCSP00_A)
                  , SUM(F_FCSP01_A)
                  , SUM(F_FCSP02_A)
                  , SUM(F_FCSP03_A)
                  , SUM(F_FCSP04_A)
                  , SUM(F_FCSP05_A)
                  , SUM(F_FCSQ02_A)
                  , SUM(F_FCSQ03_A)
                  , SUM(F_FCSQ04_A)
                  , SUM(F_FCSQ05_A)

              FROM D108.TFFCSHDR

             WHERE F_MKTCRGN_C    = :DCLTFPRODLN.F-MKTCRGN-C
               AND F_DPT_C        = :DCLTFPRJHDR.F-DPT-C
               AND F_SUBDPT_C     = :DCLTFPRJHDR.F-SUBDPT-C
               AND '   '          = :DCLTFPRJHDR.F-EXPTYP-C
               AND '   '          = :DCLTFPRJHDR.F-EXPSUBTYP-C

               AND -88888        ^= :DCLTFFCSHDR.F-FCSID-N

             GROUP BY F_DPT_C
                    , F_SUBDPT_C

             UNION

      ***************************************************************
      *  (2A) GET DETAIL LINES FOR ALL FORECASTS                    *
      *       FOR THE ENTERED DEPT, SUB DEPT, EXP TYPE              *
      ***************************************************************
             SELECT '2A'
                  , F_EXPTYP_C
                  , F_EXPSUBTYP_C
                  , F_DPT_C
                  , F_SUBDPT_C
                  , F_FCSID_N
                  , F_FCSID_X
                  , F_FCSP00_A
                  , F_FCSP01_A
                  , F_FCSP02_A
                  , F_FCSP03_A
                  , F_FCSP04_A
                  , F_FCSP05_A
                  , F_FCSQ02_A
                  , F_FCSQ03_A
                  , F_FCSQ04_A
                  , F_FCSQ05_A

              FROM D108.TFFCSHDR

             WHERE F_MKTCRGN_C    = :DCLTFPRODLN.F-MKTCRGN-C
               AND F_DPT_C        = :DCLTFPRJHDR.F-DPT-C
               AND F_SUBDPT_C     = :DCLTFPRJHDR.F-SUBDPT-C
               AND F_EXPTYP_C     = :DCLTFPRJHDR.F-EXPTYP-C
               AND '   '          = :DCLTFPRJHDR.F-EXPSUBTYP-C

               AND (( F_EXPTYP_C     = :DCLTFFCSHDR.F-EXPTYP-C
               AND    F_EXPSUBTYP_C  = :DCLTFFCSHDR.F-EXPSUBTYP-C
               AND    F_FCSID_N      < :DCLTFFCSHDR.F-FCSID-N  )

               OR   ( F_EXPTYP_C     = :DCLTFFCSHDR.F-EXPTYP-C
               AND    F_EXPSUBTYP_C  > :DCLTFFCSHDR.F-EXPSUBTYP-C )

               OR   ( F_EXPTYP_C     > :DCLTFFCSHDR.F-EXPTYP-C ))

             UNION

      ***************************************************************
      *  (2B) GET SUBTOTALS FOR EXP TYPE, EXP SUB TYPE              *
      *       FOR THE ENTERED DEPT, SUB DEPT, EXP TYPE              *
      ***************************************************************
             SELECT '2B'
                  , F_EXPTYP_C
                  , F_EXPSUBTYP_C
                  , F_DPT_C
                  , F_SUBDPT_C
                  , -66666
                  , '    TOTAL: '||F_EXPTYP_C||' '||F_EXPSUBTYP_C
                  , SUM(F_FCSP00_A)
                  , SUM(F_FCSP01_A)
                  , SUM(F_FCSP02_A)
                  , SUM(F_FCSP03_A)
                  , SUM(F_FCSP04_A)
                  , SUM(F_FCSP05_A)
                  , SUM(F_FCSQ02_A)
                  , SUM(F_FCSQ03_A)
                  , SUM(F_FCSQ04_A)
                  , SUM(F_FCSQ05_A)

              FROM D108.TFFCSHDR

             WHERE F_MKTCRGN_C    = :DCLTFPRODLN.F-MKTCRGN-C
               AND F_DPT_C        = :DCLTFPRJHDR.F-DPT-C
               AND F_SUBDPT_C     = :DCLTFPRJHDR.F-SUBDPT-C
               AND F_EXPTYP_C     = :DCLTFPRJHDR.F-EXPTYP-C
               AND '   '          = :DCLTFPRJHDR.F-EXPSUBTYP-C

               AND (( F_EXPTYP_C     = :DCLTFFCSHDR.F-EXPTYP-C
               AND    F_EXPSUBTYP_C >= :DCLTFFCSHDR.F-EXPSUBTYP-C
               AND    -66666        ^= :DCLTFFCSHDR.F-FCSID-N )

               OR   ( F_EXPTYP_C     = :DCLTFFCSHDR.F-EXPTYP-C
               AND    F_EXPSUBTYP_C  > :DCLTFFCSHDR.F-EXPSUBTYP-C)

               OR   ( F_EXPTYP_C     > :DCLTFFCSHDR.F-EXPTYP-C ))

             GROUP BY F_EXPTYP_C
                    , F_EXPSUBTYP_C
                    , F_DPT_C
                    , F_SUBDPT_C

             UNION

      ***************************************************************
      *  (2C) GET SUBTOTALS FOR EXP TYPE                            *
      *       FOR THE ENTERED DEPT, SUB DEPT, EXP TYPE              *
      ***************************************************************
             SELECT '2C'
                  , F_EXPTYP_C
                  , '999'
                  , F_DPT_C
                  , 'ALL'
                  , -77777
                  , '    TOTAL: '||F_EXPTYP_C
                  , SUM(F_FCSP00_A)
                  , SUM(F_FCSP01_A)
                  , SUM(F_FCSP02_A)
                  , SUM(F_FCSP03_A)
                  , SUM(F_FCSP04_A)
                  , SUM(F_FCSP05_A)
                  , SUM(F_FCSQ02_A)
                  , SUM(F_FCSQ03_A)
                  , SUM(F_FCSQ04_A)
                  , SUM(F_FCSQ05_A)

              FROM D108.TFFCSHDR

             WHERE F_MKTCRGN_C    = :DCLTFPRODLN.F-MKTCRGN-C
               AND F_DPT_C        = :DCLTFPRJHDR.F-DPT-C
               AND F_SUBDPT_C     = :DCLTFPRJHDR.F-SUBDPT-C
               AND F_EXPTYP_C     = :DCLTFPRJHDR.F-EXPTYP-C
               AND '  '          ^= :DCLTFPRJHDR.F-EXPTYP-C
               AND '   '          = :DCLTFPRJHDR.F-EXPSUBTYP-C

               AND (( F_EXPTYP_C    >= :DCLTFFCSHDR.F-EXPTYP-C
               AND    -77777        ^= :DCLTFFCSHDR.F-FCSID-N )

                OR  ( F_EXPTYP_C     > :DCLTFFCSHDR.F-EXPTYP-C ))

             GROUP BY F_EXPTYP_C
                    , F_DPT_C

             UNION

      ***************************************************************
      *  (3A) GET DETAIL LINES FOR ALL FORECASTS                    *
      *       FOR THE ENTERED DEPT, SUB DEPT, EXP TYPE, EXP SUB TYPE*
      ***************************************************************
             SELECT '3A'
                  , F_EXPTYP_C
                  , F_EXPSUBTYP_C
                  , F_DPT_C
                  , F_SUBDPT_C
                  , F_FCSID_N
                  , F_FCSID_X
                  , F_FCSP00_A
                  , F_FCSP01_A
                  , F_FCSP02_A
                  , F_FCSP03_A
                  , F_FCSP04_A
                  , F_FCSP05_A
                  , F_FCSQ02_A
                  , F_FCSQ03_A
                  , F_FCSQ04_A
                  , F_FCSQ05_A

              FROM D108.TFFCSHDR

             WHERE F_MKTCRGN_C    = :DCLTFPRODLN.F-MKTCRGN-C
               AND F_DPT_C        = :DCLTFPRJHDR.F-DPT-C
               AND F_SUBDPT_C     = :DCLTFPRJHDR.F-SUBDPT-C
               AND F_EXPTYP_C     = :DCLTFPRJHDR.F-EXPTYP-C
               AND F_EXPSUBTYP_C  = :DCLTFPRJHDR.F-EXPSUBTYP-C

               AND (( F_EXPTYP_C     = :DCLTFFCSHDR.F-EXPTYP-C
               AND    F_EXPSUBTYP_C  = :DCLTFFCSHDR.F-EXPSUBTYP-C
               AND    F_FCSID_N      < :DCLTFFCSHDR.F-FCSID-N )

               OR   ( F_EXPTYP_C     = :DCLTFFCSHDR.F-EXPTYP-C
               AND    F_EXPSUBTYP_C  > :DCLTFFCSHDR.F-EXPSUBTYP-C )

               OR   ( F_EXPTYP_C     > :DCLTFFCSHDR.F-EXPTYP-C ))

             UNION

      ***************************************************************
      *  (3B) GET SUBTOTALS FOR EXP TYPE, EXP SUB TYPE              *
      *       FOR THE ENTERED DEPT, SUB DEPT, EXP TYPE, EXP SUB TYPE*
      ***************************************************************
             SELECT '3B'
                  , F_EXPTYP_C
                  , F_EXPSUBTYP_C
                  , F_DPT_C
                  , F_SUBDPT_C
                  , -66666
                  , '    TOTAL: '||F_EXPTYP_C||' '||F_EXPSUBTYP_C
                  , SUM(F_FCSP00_A)
                  , SUM(F_FCSP01_A)
                  , SUM(F_FCSP02_A)
                  , SUM(F_FCSP03_A)
                  , SUM(F_FCSP04_A)
                  , SUM(F_FCSP05_A)
                  , SUM(F_FCSQ02_A)
                  , SUM(F_FCSQ03_A)
                  , SUM(F_FCSQ04_A)
                  , SUM(F_FCSQ05_A)

              FROM D108.TFFCSHDR

             WHERE F_MKTCRGN_C    = :DCLTFPRODLN.F-MKTCRGN-C
               AND F_DPT_C        = :DCLTFPRJHDR.F-DPT-C
               AND F_SUBDPT_C     = :DCLTFPRJHDR.F-SUBDPT-C
               AND F_EXPTYP_C     = :DCLTFPRJHDR.F-EXPTYP-C
               AND F_EXPSUBTYP_C  = :DCLTFPRJHDR.F-EXPSUBTYP-C

               AND (( F_EXPTYP_C     = :DCLTFFCSHDR.F-EXPTYP-C
               AND    F_EXPSUBTYP_C >= :DCLTFFCSHDR.F-EXPSUBTYP-C
               AND    -66666        ^= :DCLTFFCSHDR.F-FCSID-N )

               OR   ( F_EXPTYP_C     = :DCLTFFCSHDR.F-EXPTYP-C
               AND    F_EXPSUBTYP_C  > :DCLTFFCSHDR.F-EXPSUBTYP-C )

               OR   ( F_EXPTYP_C     > :DCLTFFCSHDR.F-EXPTYP-C ))

             GROUP BY F_EXPTYP_C
                    , F_EXPSUBTYP_C
                    , F_DPT_C
                    , F_SUBDPT_C

             UNION

      ***************************************************************
      *  (4A) GET DETAIL LINES FOR ALL FORECASTS                    *
      *       FOR THE ENTERED DEPT, ALL SUB DEPTS                   *
      ***************************************************************
             SELECT '4A'
                  , F_EXPTYP_C
                  , F_EXPSUBTYP_C
                  , F_DPT_C
                  , F_SUBDPT_C
                  , F_FCSID_N
                  , F_FCSID_X
                  , F_FCSP00_A
                  , F_FCSP01_A
                  , F_FCSP02_A
                  , F_FCSP03_A
                  , F_FCSP04_A
                  , F_FCSP05_A
                  , F_FCSQ02_A
                  , F_FCSQ03_A
                  , F_FCSQ04_A
                  , F_FCSQ05_A

              FROM D108.TFFCSHDR

             WHERE F_MKTCRGN_C    = :DCLTFPRODLN.F-MKTCRGN-C
               AND F_DPT_C        = :DCLTFPRJHDR.F-DPT-C
               AND 'ALL'          = :DCLTFPRJHDR.F-SUBDPT-C
               AND '   '          = :DCLTFPRJHDR.F-EXPTYP-C
               AND '   '          = :DCLTFPRJHDR.F-EXPSUBTYP-C

               AND (( F_EXPTYP_C     = :DCLTFFCSHDR.F-EXPTYP-C
               AND    F_EXPSUBTYP_C  = :DCLTFFCSHDR.F-EXPSUBTYP-C
               AND    F_FCSID_N      < :DCLTFFCSHDR.F-FCSID-N  )

               OR   ( F_EXPTYP_C     = :DCLTFFCSHDR.F-EXPTYP-C
               AND    F_EXPSUBTYP_C  > :DCLTFFCSHDR.F-EXPSUBTYP-C )

               OR   ( F_EXPTYP_C     > :DCLTFFCSHDR.F-EXPTYP-C ))

             UNION

      ***************************************************************
      *  (4B) GET SUBTOTALS FOR EXP TYPE, EXP SUB TYPE              *
      *       FOR THE ENTERED DEPT, ALL SUB DEPTS                   *
      ***************************************************************
             SELECT '4B'
                  , F_EXPTYP_C
                  , F_EXPSUBTYP_C
                  , F_DPT_C
                  , 'ALL'
                  , -66666
                  , '    TOTAL: '||F_EXPTYP_C||' '||F_EXPSUBTYP_C
                  , SUM(F_FCSP00_A)
                  , SUM(F_FCSP01_A)
                  , SUM(F_FCSP02_A)
                  , SUM(F_FCSP03_A)
                  , SUM(F_FCSP04_A)
                  , SUM(F_FCSP05_A)
                  , SUM(F_FCSQ02_A)
                  , SUM(F_FCSQ03_A)
                  , SUM(F_FCSQ04_A)
                  , SUM(F_FCSQ05_A)

              FROM D108.TFFCSHDR

             WHERE F_MKTCRGN_C    = :DCLTFPRODLN.F-MKTCRGN-C
               AND F_DPT_C        = :DCLTFPRJHDR.F-DPT-C
               AND 'ALL'          = :DCLTFPRJHDR.F-SUBDPT-C
               AND '   '          = :DCLTFPRJHDR.F-EXPTYP-C
               AND '   '          = :DCLTFPRJHDR.F-EXPSUBTYP-C

               AND (( F_EXPTYP_C     = :DCLTFFCSHDR.F-EXPTYP-C
               AND    F_EXPSUBTYP_C >= :DCLTFFCSHDR.F-EXPSUBTYP-C
               AND    -66666        ^= :DCLTFFCSHDR.F-FCSID-N )

               OR   ( F_EXPTYP_C     = :DCLTFFCSHDR.F-EXPTYP-C
               AND    F_EXPSUBTYP_C  > :DCLTFFCSHDR.F-EXPSUBTYP-C )

               OR   ( F_EXPTYP_C     > :DCLTFFCSHDR.F-EXPTYP-C ))

             GROUP BY F_EXPTYP_C
                    , F_EXPSUBTYP_C
                    , F_DPT_C

             UNION

      ***************************************************************
      *  (4C) GET SUBTOTALS FOR EXP TYPE                            *
      *       FOR THE ENTERED DEPT, ALL SUB DEPTS                   *
      ***************************************************************
             SELECT '4C'
                  , F_EXPTYP_C
                  , '999'
                  , F_DPT_C
                  , 'ALL'
                  , -77777
                  , '    TOTAL: '||F_EXPTYP_C
                  , SUM(F_FCSP00_A)
                  , SUM(F_FCSP01_A)
                  , SUM(F_FCSP02_A)
                  , SUM(F_FCSP03_A)
                  , SUM(F_FCSP04_A)
                  , SUM(F_FCSP05_A)
                  , SUM(F_FCSQ02_A)
                  , SUM(F_FCSQ03_A)
                  , SUM(F_FCSQ04_A)
                  , SUM(F_FCSQ05_A)

              FROM D108.TFFCSHDR

             WHERE F_MKTCRGN_C    = :DCLTFPRODLN.F-MKTCRGN-C
               AND F_DPT_C        = :DCLTFPRJHDR.F-DPT-C
               AND 'ALL'          = :DCLTFPRJHDR.F-SUBDPT-C
               AND '   '          = :DCLTFPRJHDR.F-EXPTYP-C
               AND '   '          = :DCLTFPRJHDR.F-EXPSUBTYP-C

               AND (( F_EXPTYP_C    >= :DCLTFFCSHDR.F-EXPTYP-C
               AND    -77777        ^= :DCLTFFCSHDR.F-FCSID-N )

                OR  ( F_EXPTYP_C     > :DCLTFFCSHDR.F-EXPTYP-C ))

             GROUP BY F_EXPTYP_C
                    , F_DPT_C

             UNION

      ***************************************************************
      *  (4D) GET SUBTOTALS FOR DEPT                                *
      *       FOR THE ENTERED DEPT, ALL SUB DEPTS                   *
      ***************************************************************
             SELECT '4D'
                  , '99'
                  , '999'
                  , F_DPT_C
                  , 'ALL'
                  , -99999
                  , '    TOTAL: '||F_DPT_C
                  , SUM(F_FCSP00_A)
                  , SUM(F_FCSP01_A)
                  , SUM(F_FCSP02_A)
                  , SUM(F_FCSP03_A)
                  , SUM(F_FCSP04_A)
                  , SUM(F_FCSP05_A)
                  , SUM(F_FCSQ02_A)
                  , SUM(F_FCSQ03_A)
                  , SUM(F_FCSQ04_A)
                  , SUM(F_FCSQ05_A)

              FROM D108.TFFCSHDR

             WHERE F_MKTCRGN_C    = :DCLTFPRODLN.F-MKTCRGN-C
               AND F_DPT_C        = :DCLTFPRJHDR.F-DPT-C
               AND 'ALL'          = :DCLTFPRJHDR.F-SUBDPT-C
               AND '   '          = :DCLTFPRJHDR.F-EXPTYP-C
               AND '   '          = :DCLTFPRJHDR.F-EXPSUBTYP-C

               AND -99999        ^= :DCLTFFCSHDR.F-FCSID-N

             GROUP BY F_DPT_C

             UNION

      ***************************************************************
      *  (5A) GET DETAIL LINES FOR ALL FORECASTS                    *
      *       FOR THE ENTERED DEPT, ALL SUB DEPTS, EXP TYPE         *
      ***************************************************************
             SELECT '5A'
                  , F_EXPTYP_C
                  , F_EXPSUBTYP_C
                  , F_DPT_C
                  , F_SUBDPT_C
                  , F_FCSID_N
                  , F_FCSID_X
                  , F_FCSP00_A
                  , F_FCSP01_A
                  , F_FCSP02_A
                  , F_FCSP03_A
                  , F_FCSP04_A
                  , F_FCSP05_A
                  , F_FCSQ02_A
                  , F_FCSQ03_A
                  , F_FCSQ04_A
                  , F_FCSQ05_A

              FROM D108.TFFCSHDR

             WHERE F_MKTCRGN_C    = :DCLTFPRODLN.F-MKTCRGN-C
               AND F_DPT_C        = :DCLTFPRJHDR.F-DPT-C
               AND 'ALL'          = :DCLTFPRJHDR.F-SUBDPT-C
               AND F_EXPTYP_C     = :DCLTFPRJHDR.F-EXPTYP-C
               AND '   '          = :DCLTFPRJHDR.F-EXPSUBTYP-C

               AND (( F_EXPTYP_C     = :DCLTFFCSHDR.F-EXPTYP-C
               AND    F_EXPSUBTYP_C  = :DCLTFFCSHDR.F-EXPSUBTYP-C
               AND    F_FCSID_N      < :DCLTFFCSHDR.F-FCSID-N  )

               OR   ( F_EXPTYP_C     = :DCLTFFCSHDR.F-EXPTYP-C
               AND    F_EXPSUBTYP_C  > :DCLTFFCSHDR.F-EXPSUBTYP-C )

               OR   ( F_EXPTYP_C     > :DCLTFFCSHDR.F-EXPTYP-C ))

             UNION

      ***************************************************************
      *  (5B) GET SUBTOTALS FOR EXP TYPE, EXP SUB TYPE              *
      *       FOR THE ENTERED DEPT, ALL SUB DEPTS, EXP TYPE         *
      ***************************************************************
             SELECT '5B'
                  , F_EXPTYP_C
                  , F_EXPSUBTYP_C
                  , F_DPT_C
                  , 'ALL'
                  , -66666
                  , '    TOTAL: '||F_EXPTYP_C||' '||F_EXPSUBTYP_C
                  , SUM(F_FCSP00_A)
                  , SUM(F_FCSP01_A)
                  , SUM(F_FCSP02_A)
                  , SUM(F_FCSP03_A)
                  , SUM(F_FCSP04_A)
                  , SUM(F_FCSP05_A)
                  , SUM(F_FCSQ02_A)
                  , SUM(F_FCSQ03_A)
                  , SUM(F_FCSQ04_A)
                  , SUM(F_FCSQ05_A)

              FROM D108.TFFCSHDR

             WHERE F_MKTCRGN_C    = :DCLTFPRODLN.F-MKTCRGN-C
               AND F_DPT_C        = :DCLTFPRJHDR.F-DPT-C
               AND 'ALL'          = :DCLTFPRJHDR.F-SUBDPT-C
               AND F_EXPTYP_C     = :DCLTFPRJHDR.F-EXPTYP-C
               AND '   '          = :DCLTFPRJHDR.F-EXPSUBTYP-C

               AND (( F_EXPTYP_C     = :DCLTFFCSHDR.F-EXPTYP-C
               AND    F_EXPSUBTYP_C >= :DCLTFFCSHDR.F-EXPSUBTYP-C
               AND    -66666        ^= :DCLTFFCSHDR.F-FCSID-N )

               OR   ( F_EXPTYP_C     = :DCLTFFCSHDR.F-EXPTYP-C
               AND    F_EXPSUBTYP_C  > :DCLTFFCSHDR.F-EXPSUBTYP-C )

               OR   ( F_EXPTYP_C     > :DCLTFFCSHDR.F-EXPTYP-C ))

             GROUP BY F_EXPTYP_C
                    , F_EXPSUBTYP_C
                    , F_DPT_C

             UNION

      ***************************************************************
      *  (5C) GET SUBTOTALS FOR EXP TYPE                            *
      *       FOR THE ENTERED DEPT, ALL SUB DEPTS, EXP TYPE         *
      ***************************************************************
             SELECT '5C'
                  , F_EXPTYP_C
                  , '999'
                  , F_DPT_C
                  , 'ALL'
                  , -77777
                  , '    TOTAL: '||F_EXPTYP_C
                  , SUM(F_FCSP00_A)
                  , SUM(F_FCSP01_A)
                  , SUM(F_FCSP02_A)
                  , SUM(F_FCSP03_A)
                  , SUM(F_FCSP04_A)
                  , SUM(F_FCSP05_A)
                  , SUM(F_FCSQ02_A)
                  , SUM(F_FCSQ03_A)
                  , SUM(F_FCSQ04_A)
                  , SUM(F_FCSQ05_A)

              FROM D108.TFFCSHDR

             WHERE F_MKTCRGN_C    = :DCLTFPRODLN.F-MKTCRGN-C
               AND F_DPT_C        = :DCLTFPRJHDR.F-DPT-C
               AND 'ALL'          = :DCLTFPRJHDR.F-SUBDPT-C
               AND F_EXPTYP_C     = :DCLTFPRJHDR.F-EXPTYP-C
               AND '   '         ^= :DCLTFPRJHDR.F-EXPTYP-C
               AND '   '          = :DCLTFPRJHDR.F-EXPSUBTYP-C

               AND (( F_EXPTYP_C    >= :DCLTFFCSHDR.F-EXPTYP-C
               AND    -77777        ^= :DCLTFFCSHDR.F-FCSID-N )

                OR  ( F_EXPTYP_C     > :DCLTFFCSHDR.F-EXPTYP-C ))

             GROUP BY F_EXPTYP_C
                    , F_DPT_C

             UNION


      ***************************************************************
      *  (6A) GET DETAIL LINES FOR ALL FORECASTS                    *
      *       FOR THE ENTERED DEPT, ALL SUB DEPTS, EXP TYPE, SUB TYP*   E *
      ***************************************************************
             SELECT '6A'
                  , F_EXPTYP_C
                  , F_EXPSUBTYP_C
                  , F_DPT_C
                  , F_SUBDPT_C
                  , F_FCSID_N
                  , F_FCSID_X
                  , F_FCSP00_A
                  , F_FCSP01_A
                  , F_FCSP02_A
                  , F_FCSP03_A
                  , F_FCSP04_A
                  , F_FCSP05_A
                  , F_FCSQ02_A
                  , F_FCSQ03_A
                  , F_FCSQ04_A
                  , F_FCSQ05_A

              FROM D108.TFFCSHDR

             WHERE F_MKTCRGN_C    = :DCLTFPRODLN.F-MKTCRGN-C
               AND F_DPT_C        = :DCLTFPRJHDR.F-DPT-C
               AND 'ALL'          = :DCLTFPRJHDR.F-SUBDPT-C
               AND F_EXPTYP_C     = :DCLTFPRJHDR.F-EXPTYP-C
               AND F_EXPSUBTYP_C  = :DCLTFPRJHDR.F-EXPSUBTYP-C

               AND (( F_EXPTYP_C     = :DCLTFFCSHDR.F-EXPTYP-C
               AND    F_EXPSUBTYP_C  = :DCLTFFCSHDR.F-EXPSUBTYP-C
               AND    F_FCSID_N      < :DCLTFFCSHDR.F-FCSID-N  )

               OR   ( F_EXPTYP_C     = :DCLTFFCSHDR.F-EXPTYP-C
               AND    F_EXPSUBTYP_C  > :DCLTFFCSHDR.F-EXPSUBTYP-C )

               OR   ( F_EXPTYP_C     > :DCLTFFCSHDR.F-EXPTYP-C ))

             UNION

      ***************************************************************
      *  (6B) GET SUBTOTALS FOR EXP TYPE, EXP SUB TYPE              *
      *       FOR THE ENTERED DEPT, ALL SUB DEPTS, EXP TYPE, SUB TYP*   E *
      ***************************************************************
             SELECT '6B'
                  , F_EXPTYP_C
                  , F_EXPSUBTYP_C
                  , F_DPT_C
                  , 'ALL'
                  , -66666
                  , '    TOTAL: '||F_EXPTYP_C||' '||F_EXPSUBTYP_C
                  , SUM(F_FCSP00_A)
                  , SUM(F_FCSP01_A)
                  , SUM(F_FCSP02_A)
                  , SUM(F_FCSP03_A)
                  , SUM(F_FCSP04_A)
                  , SUM(F_FCSP05_A)
                  , SUM(F_FCSQ02_A)
                  , SUM(F_FCSQ03_A)
                  , SUM(F_FCSQ04_A)
                  , SUM(F_FCSQ05_A)

              FROM D108.TFFCSHDR

             WHERE F_MKTCRGN_C    = :DCLTFPRODLN.F-MKTCRGN-C
               AND F_DPT_C        = :DCLTFPRJHDR.F-DPT-C
               AND 'ALL'          = :DCLTFPRJHDR.F-SUBDPT-C
               AND F_EXPTYP_C     = :DCLTFPRJHDR.F-EXPTYP-C
               AND F_EXPSUBTYP_C  = :DCLTFPRJHDR.F-EXPSUBTYP-C

               AND (( F_EXPTYP_C     = :DCLTFFCSHDR.F-EXPTYP-C
               AND    F_EXPSUBTYP_C >= :DCLTFFCSHDR.F-EXPSUBTYP-C
               AND    -66666        ^= :DCLTFFCSHDR.F-FCSID-N )

               OR   ( F_EXPTYP_C     = :DCLTFFCSHDR.F-EXPTYP-C
               AND    F_EXPSUBTYP_C  > :DCLTFFCSHDR.F-EXPSUBTYP-C )

               OR   ( F_EXPTYP_C     > :DCLTFFCSHDR.F-EXPTYP-C ))

             GROUP BY F_EXPTYP_C
                    , F_EXPSUBTYP_C
                    , F_DPT_C

             ORDER BY 2, 3, 6 DESC
           END-EXEC.

           EJECT
      ***************************************************************
      *  CSR_2 IS THE BACKWARD SCROLLING CURSOR FOR THE SCREEN.     *
      ***************************************************************
      *                                                             *
      *  THIS CURSOR WILL HANDLE MULTIPLE INPUT REQUEST TYPES       *
      *  WITHIN THE SAME CURSOR, AND PROVIDE SCROLLING OUTPUT OF    *
      *  DETAIL LINES AND SUBTOTALS.  THE PURPOSE OF THIS SCREEN    *
      *  IS TO PROVIDE AN UPDATE SCREEN WHICH MATCHES THE FORECAST  *
      *  DETAIL REPORT (P108MT79, P108MT89).  THE INPUT REQUEST     *
      *  TYPES ARE DESCRIBED BELOW, WITH A DESCRIPTION OF EACH      *
      *  INDIVIDUAL SELECT STATEMENT.                               *
      *                                                             *
      *    (1)  DEPT, SUB DEPT                                      *
      *         (1A) DETAIL LINES FOR ALL FORECASTS                 *
      *         (1B) SUBTOTALS FOR EXP TYPE, EXP SUB TYPE           *
      *         (1C) SUBTOTALS FOR EXP TYPE                         *
      *         (1D) SUBTOTALS FOR DEPT, SUB DEPT                   *
      *                                                             *
      *    (2)  DEPT, SUB DEPT, EXP TYPE                            *
      *         (2A) DETAIL LINES FOR ALL FORECASTS                 *
      *         (2B) SUBTOTALS FOR EXP TYPE, EXP SUB TYPE           *
      *         (2C) SUBTOTALS FOR EXP TYPE                         *
      *                                                             *
      *    (3)  DEPT, SUB DEPT, EXP TYPE, EXP SUB TYPE              *
      *         (3A) DETAIL LINES FOR ALL FORECASTS                 *
      *         (3B) SUBTOTALS FOR EXP TYPE, EXP SUB TYPE           *
      *                                                             *
      *    (4)  DEPT, ALL SUB DEPTS                                 *
      *         (4A) DETAIL LINES FOR ALL FORECASTS                 *
      *         (4B) SUBTOTALS FOR EXP TYPE, EXP SUB TYPE           *
      *         (4C) SUBTOTALS FOR EXP TYPE                         *
      *         (4D) SUBTOTALS FOR DEPT                             *
      *                                                             *
      *    (5)  DEPT, ALL SUB DEPTS, EXP TYPE                       *
      *         (5A) DETAIL LINES FOR ALL FORECASTS                 *
      *         (5B) SUBTOTALS FOR EXP TYPE, EXP SUB TYPE           *
      *         (5C) SUBTOTALS FOR EXP TYPE                         *
      *                                                             *
      *    (6)  DEPT, ALL SUB DEPTS, EXP TYPE, EXP SUB TYPE         *
      *         (6A) DETAIL LINES FOR ALL FORECASTS                 *
      *         (6B) SUBTOTALS FOR EXP TYPE, EXP SUB TYPE           *
      *                                                             *
      ***************************************************************
           EXEC SQL
             DECLARE CSR_2 CURSOR FOR

      ***************************************************************
      *  (1A) GET DETAIL LINES FOR ALL FORECASTS                    *
      *       FOR THE ENTERED DEPT, SUB DEPT                        *
      ***************************************************************
             SELECT '1A'
                  , F_EXPTYP_C
                  , F_EXPSUBTYP_C
                  , F_DPT_C
                  , F_SUBDPT_C
                  , F_FCSID_N
                  , F_FCSID_X
                  , F_FCSP00_A
                  , F_FCSP01_A
                  , F_FCSP02_A
                  , F_FCSP03_A
                  , F_FCSP04_A
                  , F_FCSP05_A
                  , F_FCSQ02_A
                  , F_FCSQ03_A
                  , F_FCSQ04_A
                  , F_FCSQ05_A

              FROM D108.TFFCSHDR

             WHERE F_MKTCRGN_C    = :DCLTFPRODLN.F-MKTCRGN-C
               AND F_DPT_C        = :DCLTFPRJHDR.F-DPT-C
               AND F_SUBDPT_C     = :DCLTFPRJHDR.F-SUBDPT-C
               AND '   '          = :DCLTFPRJHDR.F-EXPTYP-C
               AND '   '          = :DCLTFPRJHDR.F-EXPSUBTYP-C

               AND (( F_EXPTYP_C     = :DCLTFFCSHDR.F-EXPTYP-C
               AND    F_EXPSUBTYP_C  = :DCLTFFCSHDR.F-EXPSUBTYP-C
               AND    F_FCSID_N      > :DCLTFFCSHDR.F-FCSID-N  )

               OR   ( F_EXPTYP_C     = :DCLTFFCSHDR.F-EXPTYP-C
               AND    F_EXPSUBTYP_C  < :DCLTFFCSHDR.F-EXPSUBTYP-C )

               OR   ( F_EXPTYP_C     < :DCLTFFCSHDR.F-EXPTYP-C ))

             UNION

      ***************************************************************
      *  (1B) GET SUBTOTALS FOR EXP TYPE, EXP SUB TYPE              *
      *       FOR THE ENTERED DEPT, SUB DEPT                        *
      ***************************************************************
             SELECT '1B'
                  , F_EXPTYP_C
                  , F_EXPSUBTYP_C
                  , F_DPT_C
                  , F_SUBDPT_C
                  , -66666
                  , '    TOTAL: '||F_EXPTYP_C||' '||F_EXPSUBTYP_C
                  , SUM(F_FCSP00_A)
                  , SUM(F_FCSP01_A)
                  , SUM(F_FCSP02_A)
                  , SUM(F_FCSP03_A)
                  , SUM(F_FCSP04_A)
                  , SUM(F_FCSP05_A)
                  , SUM(F_FCSQ02_A)
                  , SUM(F_FCSQ03_A)
                  , SUM(F_FCSQ04_A)
                  , SUM(F_FCSQ05_A)

              FROM D108.TFFCSHDR

             WHERE F_MKTCRGN_C    = :DCLTFPRODLN.F-MKTCRGN-C
               AND F_DPT_C        = :DCLTFPRJHDR.F-DPT-C
               AND F_SUBDPT_C     = :DCLTFPRJHDR.F-SUBDPT-C
               AND '   '          = :DCLTFPRJHDR.F-EXPTYP-C
               AND '   '          = :DCLTFPRJHDR.F-EXPSUBTYP-C

               AND (( F_EXPTYP_C     = :DCLTFFCSHDR.F-EXPTYP-C
               AND    F_EXPSUBTYP_C  < :DCLTFFCSHDR.F-EXPSUBTYP-C )

               OR   ( F_EXPTYP_C     < :DCLTFFCSHDR.F-EXPTYP-C ))

             GROUP BY F_EXPTYP_C
                    , F_EXPSUBTYP_C
                    , F_DPT_C
                    , F_SUBDPT_C

             UNION

      ***************************************************************
      *  (1C) GET SUBTOTALS FOR EXP TYPE                            *
      *       FOR THE ENTERED DEPT, SUB DEPT                        *
      ***************************************************************
             SELECT '1C'
                  , F_EXPTYP_C
                  , '999'
                  , F_DPT_C
                  , F_SUBDPT_C
                  , -77777
                  , '    TOTAL: '||F_EXPTYP_C
                  , SUM(F_FCSP00_A)
                  , SUM(F_FCSP01_A)
                  , SUM(F_FCSP02_A)
                  , SUM(F_FCSP03_A)
                  , SUM(F_FCSP04_A)
                  , SUM(F_FCSP05_A)
                  , SUM(F_FCSQ02_A)
                  , SUM(F_FCSQ03_A)
                  , SUM(F_FCSQ04_A)
                  , SUM(F_FCSQ05_A)

              FROM D108.TFFCSHDR

             WHERE F_MKTCRGN_C    = :DCLTFPRODLN.F-MKTCRGN-C
               AND F_DPT_C        = :DCLTFPRJHDR.F-DPT-C
               AND F_SUBDPT_C     = :DCLTFPRJHDR.F-SUBDPT-C
               AND '   '          = :DCLTFPRJHDR.F-EXPTYP-C
               AND '   '          = :DCLTFPRJHDR.F-EXPSUBTYP-C

               AND F_EXPTYP_C     < :DCLTFFCSHDR.F-EXPTYP-C

             GROUP BY F_EXPTYP_C
                    , F_DPT_C
                    , F_SUBDPT_C

             UNION

      ***************************************************************
      *  (1D) GET SUBTOTALS FOR DEPT, SUB DEPT                      *
      *       FOR THE ENTERED DEPT, SUB DEPT                        *
      ***************************************************************
             SELECT '1D'
                  , '99'
                  , '999'
                  , F_DPT_C
                  , F_SUBDPT_C
                  , -88888
                  , '    TOTAL: '||F_DPT_C||' '||F_SUBDPT_C
                  , SUM(F_FCSP00_A)
                  , SUM(F_FCSP01_A)
                  , SUM(F_FCSP02_A)
                  , SUM(F_FCSP03_A)
                  , SUM(F_FCSP04_A)
                  , SUM(F_FCSP05_A)
                  , SUM(F_FCSQ02_A)
                  , SUM(F_FCSQ03_A)
                  , SUM(F_FCSQ04_A)
                  , SUM(F_FCSQ05_A)

              FROM D108.TFFCSHDR

             WHERE F_MKTCRGN_C    = :DCLTFPRODLN.F-MKTCRGN-C
               AND F_DPT_C        = :DCLTFPRJHDR.F-DPT-C
               AND F_SUBDPT_C     = :DCLTFPRJHDR.F-SUBDPT-C
               AND '   '          = :DCLTFPRJHDR.F-EXPTYP-C
               AND '   '          = :DCLTFPRJHDR.F-EXPSUBTYP-C

               AND -99999         = :DCLTFFCSHDR.F-FCSID-N

             GROUP BY F_DPT_C
                    , F_SUBDPT_C

             UNION

      ***************************************************************
      *  (2A) GET DETAIL LINES FOR ALL FORECASTS                    *
      *       FOR THE ENTERED DEPT, SUB DEPT, EXP TYPE              *
      ***************************************************************
             SELECT '2A'
                  , F_EXPTYP_C
                  , F_EXPSUBTYP_C
                  , F_DPT_C
                  , F_SUBDPT_C
                  , F_FCSID_N
                  , F_FCSID_X
                  , F_FCSP00_A
                  , F_FCSP01_A
                  , F_FCSP02_A
                  , F_FCSP03_A
                  , F_FCSP04_A
                  , F_FCSP05_A
                  , F_FCSQ02_A
                  , F_FCSQ03_A
                  , F_FCSQ04_A
                  , F_FCSQ05_A

              FROM D108.TFFCSHDR

             WHERE F_MKTCRGN_C    = :DCLTFPRODLN.F-MKTCRGN-C
               AND F_DPT_C        = :DCLTFPRJHDR.F-DPT-C
               AND F_SUBDPT_C     = :DCLTFPRJHDR.F-SUBDPT-C
               AND F_EXPTYP_C     = :DCLTFPRJHDR.F-EXPTYP-C
               AND '   '          = :DCLTFPRJHDR.F-EXPSUBTYP-C

               AND (( F_EXPTYP_C     = :DCLTFFCSHDR.F-EXPTYP-C
               AND    F_EXPSUBTYP_C  = :DCLTFFCSHDR.F-EXPSUBTYP-C
               AND    F_FCSID_N      > :DCLTFFCSHDR.F-FCSID-N  )

               OR   ( F_EXPTYP_C     = :DCLTFFCSHDR.F-EXPTYP-C
               AND    F_EXPSUBTYP_C  < :DCLTFFCSHDR.F-EXPSUBTYP-C )

               OR   ( F_EXPTYP_C     < :DCLTFFCSHDR.F-EXPTYP-C ))

             UNION

      ***************************************************************
      *  (2B) GET SUBTOTALS FOR EXP TYPE, EXP SUB TYPE              *
      *       FOR THE ENTERED DEPT, SUB DEPT, EXP TYPE              *
      ***************************************************************
             SELECT '2B'
                  , F_EXPTYP_C
                  , F_EXPSUBTYP_C
                  , F_DPT_C
                  , F_SUBDPT_C
                  , -66666
                  , '    TOTAL: '||F_EXPTYP_C||' '||F_EXPSUBTYP_C
                  , SUM(F_FCSP00_A)
                  , SUM(F_FCSP01_A)
                  , SUM(F_FCSP02_A)
                  , SUM(F_FCSP03_A)
                  , SUM(F_FCSP04_A)
                  , SUM(F_FCSP05_A)
                  , SUM(F_FCSQ02_A)
                  , SUM(F_FCSQ03_A)
                  , SUM(F_FCSQ04_A)
                  , SUM(F_FCSQ05_A)

              FROM D108.TFFCSHDR

             WHERE F_MKTCRGN_C    = :DCLTFPRODLN.F-MKTCRGN-C
               AND F_DPT_C        = :DCLTFPRJHDR.F-DPT-C
               AND F_SUBDPT_C     = :DCLTFPRJHDR.F-SUBDPT-C
               AND F_EXPTYP_C     = :DCLTFPRJHDR.F-EXPTYP-C
               AND '   '          = :DCLTFPRJHDR.F-EXPSUBTYP-C

               AND F_EXPTYP_C     < :DCLTFFCSHDR.F-EXPTYP-C

             GROUP BY F_EXPTYP_C
                    , F_EXPSUBTYP_C
                    , F_DPT_C
                    , F_SUBDPT_C

             UNION

      ***************************************************************
      *  (2C) GET SUBTOTALS FOR EXP TYPE                            *
      *       FOR THE ENTERED DEPT, SUB DEPT, EXP TYPE              *
      ***************************************************************
             SELECT '2C'
                  , F_EXPTYP_C
                  , '999'
                  , F_DPT_C
                  , 'ALL'
                  , -77777
                  , '    TOTAL: '||F_EXPTYP_C
                  , SUM(F_FCSP00_A)
                  , SUM(F_FCSP01_A)
                  , SUM(F_FCSP02_A)
                  , SUM(F_FCSP03_A)
                  , SUM(F_FCSP04_A)
                  , SUM(F_FCSP05_A)
                  , SUM(F_FCSQ02_A)
                  , SUM(F_FCSQ03_A)
                  , SUM(F_FCSQ04_A)
                  , SUM(F_FCSQ05_A)

              FROM D108.TFFCSHDR

             WHERE F_MKTCRGN_C    = :DCLTFPRODLN.F-MKTCRGN-C
               AND F_DPT_C        = :DCLTFPRJHDR.F-DPT-C
               AND F_SUBDPT_C     = :DCLTFPRJHDR.F-SUBDPT-C
               AND F_EXPTYP_C     = :DCLTFPRJHDR.F-EXPTYP-C
               AND '  '          ^= :DCLTFPRJHDR.F-EXPTYP-C
               AND '   '          = :DCLTFPRJHDR.F-EXPSUBTYP-C

               AND  F_EXPTYP_C      < :DCLTFFCSHDR.F-EXPTYP-C

             GROUP BY F_EXPTYP_C
                    , F_DPT_C

             UNION

      ***************************************************************
      *  (3A) GET DETAIL LINES FOR ALL FORECASTS                    *
      *       FOR THE ENTERED DEPT, SUB DEPT, EXP TYPE, EXP SUB TYPE*
      ***************************************************************
             SELECT '3A'
                  , F_EXPTYP_C
                  , F_EXPSUBTYP_C
                  , F_DPT_C
                  , F_SUBDPT_C
                  , F_FCSID_N
                  , F_FCSID_X
                  , F_FCSP00_A
                  , F_FCSP01_A
                  , F_FCSP02_A
                  , F_FCSP03_A
                  , F_FCSP04_A
                  , F_FCSP05_A
                  , F_FCSQ02_A
                  , F_FCSQ03_A
                  , F_FCSQ04_A
                  , F_FCSQ05_A

              FROM D108.TFFCSHDR

             WHERE F_MKTCRGN_C    = :DCLTFPRODLN.F-MKTCRGN-C
               AND F_DPT_C        = :DCLTFPRJHDR.F-DPT-C
               AND F_SUBDPT_C     = :DCLTFPRJHDR.F-SUBDPT-C
               AND F_EXPTYP_C     = :DCLTFPRJHDR.F-EXPTYP-C
               AND F_EXPSUBTYP_C  = :DCLTFPRJHDR.F-EXPSUBTYP-C

               AND (( F_EXPTYP_C     = :DCLTFFCSHDR.F-EXPTYP-C
               AND    F_EXPSUBTYP_C  = :DCLTFFCSHDR.F-EXPSUBTYP-C
               AND    F_FCSID_N      > :DCLTFFCSHDR.F-FCSID-N  )

               OR   ( F_EXPTYP_C     = :DCLTFFCSHDR.F-EXPTYP-C
               AND    F_EXPSUBTYP_C  < :DCLTFFCSHDR.F-EXPSUBTYP-C )

               OR   ( F_EXPTYP_C     < :DCLTFFCSHDR.F-EXPTYP-C ))

             UNION

      ***************************************************************
      *  (3B) GET SUBTOTALS FOR EXP TYPE, EXP SUB TYPE              *
      *       FOR THE ENTERED DEPT, SUB DEPT, EXP TYPE, EXP SUB TYPE*
      ***************************************************************
             SELECT '3B'
                  , F_EXPTYP_C
                  , F_EXPSUBTYP_C
                  , F_DPT_C
                  , F_SUBDPT_C
                  , -66666
                  , '    TOTAL: '||F_EXPTYP_C||' '||F_EXPSUBTYP_C
                  , SUM(F_FCSP00_A)
                  , SUM(F_FCSP01_A)
                  , SUM(F_FCSP02_A)
                  , SUM(F_FCSP03_A)
                  , SUM(F_FCSP04_A)
                  , SUM(F_FCSP05_A)
                  , SUM(F_FCSQ02_A)
                  , SUM(F_FCSQ03_A)
                  , SUM(F_FCSQ04_A)
                  , SUM(F_FCSQ05_A)

              FROM D108.TFFCSHDR

             WHERE F_MKTCRGN_C    = :DCLTFPRODLN.F-MKTCRGN-C
               AND F_DPT_C        = :DCLTFPRJHDR.F-DPT-C
               AND F_SUBDPT_C     = :DCLTFPRJHDR.F-SUBDPT-C
               AND F_EXPTYP_C     = :DCLTFPRJHDR.F-EXPTYP-C
               AND F_EXPSUBTYP_C  = :DCLTFPRJHDR.F-EXPSUBTYP-C

               AND (( F_EXPTYP_C     = :DCLTFFCSHDR.F-EXPTYP-C
               AND    F_EXPSUBTYP_C  < :DCLTFFCSHDR.F-EXPSUBTYP-C )

               OR   ( F_EXPTYP_C     < :DCLTFFCSHDR.F-EXPTYP-C ))

             GROUP BY F_EXPTYP_C
                    , F_EXPSUBTYP_C
                    , F_DPT_C
                    , F_SUBDPT_C

             UNION

      ***************************************************************
      *  (4A) GET DETAIL LINES FOR ALL FORECASTS                    *
      *       FOR THE ENTERED DEPT, ALL SUB DEPTS                   *
      ***************************************************************
             SELECT '4A'
                  , F_EXPTYP_C
                  , F_EXPSUBTYP_C
                  , F_DPT_C
                  , F_SUBDPT_C
                  , F_FCSID_N
                  , F_FCSID_X
                  , F_FCSP00_A
                  , F_FCSP01_A
                  , F_FCSP02_A
                  , F_FCSP03_A
                  , F_FCSP04_A
                  , F_FCSP05_A
                  , F_FCSQ02_A
                  , F_FCSQ03_A
                  , F_FCSQ04_A
                  , F_FCSQ05_A

              FROM D108.TFFCSHDR

             WHERE F_MKTCRGN_C    = :DCLTFPRODLN.F-MKTCRGN-C
               AND F_DPT_C        = :DCLTFPRJHDR.F-DPT-C
               AND 'ALL'          = :DCLTFPRJHDR.F-SUBDPT-C
               AND '   '          = :DCLTFPRJHDR.F-EXPTYP-C
               AND '   '          = :DCLTFPRJHDR.F-EXPSUBTYP-C

               AND (( F_EXPTYP_C     = :DCLTFFCSHDR.F-EXPTYP-C
               AND    F_EXPSUBTYP_C  = :DCLTFFCSHDR.F-EXPSUBTYP-C
               AND    F_FCSID_N      > :DCLTFFCSHDR.F-FCSID-N )

               OR   ( F_EXPTYP_C     = :DCLTFFCSHDR.F-EXPTYP-C
               AND    F_EXPSUBTYP_C  < :DCLTFFCSHDR.F-EXPSUBTYP-C )

               OR   ( F_EXPTYP_C     < :DCLTFFCSHDR.F-EXPTYP-C ))

             UNION

      ***************************************************************
      *  (4B) GET SUBTOTALS FOR EXP TYPE, EXP SUB TYPE              *
      *       FOR THE ENTERED DEPT, ALL SUB DEPTS                   *
      ***************************************************************
             SELECT '4B'
                  , F_EXPTYP_C
                  , F_EXPSUBTYP_C
                  , F_DPT_C
                  , 'ALL'
                  , -66666
                  , '    TOTAL: '||F_EXPTYP_C||' '||F_EXPSUBTYP_C
                  , SUM(F_FCSP00_A)
                  , SUM(F_FCSP01_A)
                  , SUM(F_FCSP02_A)
                  , SUM(F_FCSP03_A)
                  , SUM(F_FCSP04_A)
                  , SUM(F_FCSP05_A)
                  , SUM(F_FCSQ02_A)
                  , SUM(F_FCSQ03_A)
                  , SUM(F_FCSQ04_A)
                  , SUM(F_FCSQ05_A)

              FROM D108.TFFCSHDR

             WHERE F_MKTCRGN_C    = :DCLTFPRODLN.F-MKTCRGN-C
               AND F_DPT_C        = :DCLTFPRJHDR.F-DPT-C
               AND 'ALL'          = :DCLTFPRJHDR.F-SUBDPT-C
               AND '   '          = :DCLTFPRJHDR.F-EXPTYP-C
               AND '   '          = :DCLTFPRJHDR.F-EXPSUBTYP-C

               AND (( F_EXPTYP_C     = :DCLTFFCSHDR.F-EXPTYP-C
               AND    F_EXPSUBTYP_C  < :DCLTFFCSHDR.F-EXPSUBTYP-C )

               OR   ( F_EXPTYP_C     < :DCLTFFCSHDR.F-EXPTYP-C ))

             GROUP BY F_EXPTYP_C
                    , F_EXPSUBTYP_C
                    , F_DPT_C

             UNION

      ***************************************************************
      *  (4C) GET SUBTOTALS FOR EXP TYPE                            *
      *       FOR THE ENTERED DEPT, ALL SUB DEPTS                   *
      ***************************************************************
             SELECT '4C'
                  , F_EXPTYP_C
                  , '999'
                  , F_DPT_C
                  , 'ALL'
                  , -77777
                  , '    TOTAL: '||F_EXPTYP_C
                  , SUM(F_FCSP00_A)
                  , SUM(F_FCSP01_A)
                  , SUM(F_FCSP02_A)
                  , SUM(F_FCSP03_A)
                  , SUM(F_FCSP04_A)
                  , SUM(F_FCSP05_A)
                  , SUM(F_FCSQ02_A)
                  , SUM(F_FCSQ03_A)
                  , SUM(F_FCSQ04_A)
                  , SUM(F_FCSQ05_A)

              FROM D108.TFFCSHDR

             WHERE F_MKTCRGN_C    = :DCLTFPRODLN.F-MKTCRGN-C
               AND F_DPT_C        = :DCLTFPRJHDR.F-DPT-C
               AND 'ALL'          = :DCLTFPRJHDR.F-SUBDPT-C
               AND '   '          = :DCLTFPRJHDR.F-EXPTYP-C
               AND '   '          = :DCLTFPRJHDR.F-EXPSUBTYP-C

               AND F_EXPTYP_C     < :DCLTFFCSHDR.F-EXPTYP-C

             GROUP BY F_EXPTYP_C
                    , F_DPT_C

             UNION

      ***************************************************************
      *  (4D) GET SUBTOTALS FOR DEPT                                *
      *       FOR THE ENTERED DEPT, ALL SUB DEPTS                   *
      ***************************************************************
             SELECT '4D'
                  , '99'
                  , '999'
                  , F_DPT_C
                  , 'ALL'
                  , -99999
                  , '    TOTAL: '||F_DPT_C
                  , SUM(F_FCSP00_A)
                  , SUM(F_FCSP01_A)
                  , SUM(F_FCSP02_A)
                  , SUM(F_FCSP03_A)
                  , SUM(F_FCSP04_A)
                  , SUM(F_FCSP05_A)
                  , SUM(F_FCSQ02_A)
                  , SUM(F_FCSQ03_A)
                  , SUM(F_FCSQ04_A)
                  , SUM(F_FCSQ05_A)

              FROM D108.TFFCSHDR

             WHERE F_MKTCRGN_C    = :DCLTFPRODLN.F-MKTCRGN-C
               AND F_DPT_C        = :DCLTFPRJHDR.F-DPT-C
               AND 'ALL'          = :DCLTFPRJHDR.F-SUBDPT-C
               AND '   '          = :DCLTFPRJHDR.F-EXPTYP-C
               AND '   '          = :DCLTFPRJHDR.F-EXPSUBTYP-C

               AND -99999         = :DCLTFFCSHDR.F-FCSID-N

             GROUP BY F_DPT_C

             UNION

      ***************************************************************
      *  (5A) GET DETAIL LINES FOR ALL FORECASTS                    *
      *       FOR THE ENTERED DEPT, ALL SUB DEPTS, EXP TYPE         *
      ***************************************************************
             SELECT '5A'
                  , F_EXPTYP_C
                  , F_EXPSUBTYP_C
                  , F_DPT_C
                  , F_SUBDPT_C
                  , F_FCSID_N
                  , F_FCSID_X
                  , F_FCSP00_A
                  , F_FCSP01_A
                  , F_FCSP02_A
                  , F_FCSP03_A
                  , F_FCSP04_A
                  , F_FCSP05_A
                  , F_FCSQ02_A
                  , F_FCSQ03_A
                  , F_FCSQ04_A
                  , F_FCSQ05_A

              FROM D108.TFFCSHDR

             WHERE F_MKTCRGN_C    = :DCLTFPRODLN.F-MKTCRGN-C
               AND F_DPT_C        = :DCLTFPRJHDR.F-DPT-C
               AND 'ALL'          = :DCLTFPRJHDR.F-SUBDPT-C
               AND F_EXPTYP_C     = :DCLTFPRJHDR.F-EXPTYP-C
               AND '   '          = :DCLTFPRJHDR.F-EXPSUBTYP-C

               AND (( F_EXPTYP_C     = :DCLTFFCSHDR.F-EXPTYP-C
               AND    F_EXPSUBTYP_C  = :DCLTFFCSHDR.F-EXPSUBTYP-C
               AND    F_FCSID_N      > :DCLTFFCSHDR.F-FCSID-N )

               OR   ( F_EXPTYP_C     = :DCLTFFCSHDR.F-EXPTYP-C
               AND    F_EXPSUBTYP_C  < :DCLTFFCSHDR.F-EXPSUBTYP-C )

               OR   ( F_EXPTYP_C     < :DCLTFFCSHDR.F-EXPTYP-C ))

             UNION

      ***************************************************************
      *  (5B) GET SUBTOTALS FOR EXP TYPE, EXP SUB TYPE              *
      *       FOR THE ENTERED DEPT, ALL SUB DEPTS, EXP TYPE         *
      ***************************************************************
             SELECT '5B'
                  , F_EXPTYP_C
                  , F_EXPSUBTYP_C
                  , F_DPT_C
                  , 'ALL'
                  , -66666
                  , '    TOTAL: '||F_EXPTYP_C||' '||F_EXPSUBTYP_C
                  , SUM(F_FCSP00_A)
                  , SUM(F_FCSP01_A)
                  , SUM(F_FCSP02_A)
                  , SUM(F_FCSP03_A)
                  , SUM(F_FCSP04_A)
                  , SUM(F_FCSP05_A)
                  , SUM(F_FCSQ02_A)
                  , SUM(F_FCSQ03_A)
                  , SUM(F_FCSQ04_A)
                  , SUM(F_FCSQ05_A)

              FROM D108.TFFCSHDR

             WHERE F_MKTCRGN_C    = :DCLTFPRODLN.F-MKTCRGN-C
               AND F_DPT_C        = :DCLTFPRJHDR.F-DPT-C
               AND 'ALL'          = :DCLTFPRJHDR.F-SUBDPT-C
               AND F_EXPTYP_C     = :DCLTFPRJHDR.F-EXPTYP-C
               AND '   '          = :DCLTFPRJHDR.F-EXPSUBTYP-C

               AND (( F_EXPTYP_C     = :DCLTFFCSHDR.F-EXPTYP-C
               AND    F_EXPSUBTYP_C  < :DCLTFFCSHDR.F-EXPSUBTYP-C )

               OR   ( F_EXPTYP_C     < :DCLTFFCSHDR.F-EXPTYP-C ))

             GROUP BY F_EXPTYP_C
                    , F_EXPSUBTYP_C
                    , F_DPT_C

             UNION

      ***************************************************************
      *  (5C) GET SUBTOTALS FOR EXP TYPE                            *
      *       FOR THE ENTERED DEPT, ALL SUB DEPTS, EXP TYPE         *
      ***************************************************************
             SELECT '5C'
                  , F_EXPTYP_C
                  , '999'
                  , F_DPT_C
                  , 'ALL'
                  , -77777
                  , '    TOTAL: '||F_EXPTYP_C
                  , SUM(F_FCSP00_A)
                  , SUM(F_FCSP01_A)
                  , SUM(F_FCSP02_A)
                  , SUM(F_FCSP03_A)
                  , SUM(F_FCSP04_A)
                  , SUM(F_FCSP05_A)
                  , SUM(F_FCSQ02_A)
                  , SUM(F_FCSQ03_A)
                  , SUM(F_FCSQ04_A)
                  , SUM(F_FCSQ05_A)

              FROM D108.TFFCSHDR

             WHERE F_MKTCRGN_C    = :DCLTFPRODLN.F-MKTCRGN-C
               AND F_DPT_C        = :DCLTFPRJHDR.F-DPT-C
               AND 'ALL'          = :DCLTFPRJHDR.F-SUBDPT-C
               AND F_EXPTYP_C     = :DCLTFPRJHDR.F-EXPTYP-C
               AND '   '         ^= :DCLTFPRJHDR.F-EXPTYP-C
               AND '   '          = :DCLTFPRJHDR.F-EXPSUBTYP-C

               AND F_EXPTYP_C     < :DCLTFFCSHDR.F-EXPTYP-C

             GROUP BY F_EXPTYP_C
                    , F_DPT_C

             UNION

      ***************************************************************
      *  (6A) GET DETAIL LINES FOR ALL FORECASTS                    *
      *       FOR THE ENTERED DEPT, ALL SUB DEPTS, EXP TYPE, SUB TYP*   E *
      ***************************************************************
             SELECT '6A'
                  , F_EXPTYP_C
                  , F_EXPSUBTYP_C
                  , F_DPT_C
                  , F_SUBDPT_C
                  , F_FCSID_N
                  , F_FCSID_X
                  , F_FCSP00_A
                  , F_FCSP01_A
                  , F_FCSP02_A
                  , F_FCSP03_A
                  , F_FCSP04_A
                  , F_FCSP05_A
                  , F_FCSQ02_A
                  , F_FCSQ03_A
                  , F_FCSQ04_A
                  , F_FCSQ05_A

              FROM D108.TFFCSHDR

             WHERE F_MKTCRGN_C    = :DCLTFPRODLN.F-MKTCRGN-C
               AND F_DPT_C        = :DCLTFPRJHDR.F-DPT-C
               AND 'ALL'          = :DCLTFPRJHDR.F-SUBDPT-C
               AND F_EXPTYP_C     = :DCLTFPRJHDR.F-EXPTYP-C
               AND F_EXPSUBTYP_C  = :DCLTFPRJHDR.F-EXPSUBTYP-C

               AND (( F_EXPTYP_C     = :DCLTFFCSHDR.F-EXPTYP-C
               AND    F_EXPSUBTYP_C  = :DCLTFFCSHDR.F-EXPSUBTYP-C
               AND    F_FCSID_N      > :DCLTFFCSHDR.F-FCSID-N )

               OR   ( F_EXPTYP_C     = :DCLTFFCSHDR.F-EXPTYP-C
               AND    F_EXPSUBTYP_C  < :DCLTFFCSHDR.F-EXPSUBTYP-C )

               OR   ( F_EXPTYP_C     < :DCLTFFCSHDR.F-EXPTYP-C ))

             UNION

      ***************************************************************
      *  (6B) GET SUBTOTALS FOR EXP TYPE, EXP SUB TYPE              *
      *       FOR THE ENTERED DEPT, ALL SUB DEPTS, EXP TYPE, SUB TYP*   E *
      ***************************************************************
             SELECT '6B'
                  , F_EXPTYP_C
                  , F_EXPSUBTYP_C
                  , F_DPT_C
                  , 'ALL'
                  , -66666
                  , '    TOTAL: '||F_EXPTYP_C||' '||F_EXPSUBTYP_C
                  , SUM(F_FCSP00_A)
                  , SUM(F_FCSP01_A)
                  , SUM(F_FCSP02_A)
                  , SUM(F_FCSP03_A)
                  , SUM(F_FCSP04_A)
                  , SUM(F_FCSP05_A)
                  , SUM(F_FCSQ02_A)
                  , SUM(F_FCSQ03_A)
                  , SUM(F_FCSQ04_A)
                  , SUM(F_FCSQ05_A)

              FROM D108.TFFCSHDR

             WHERE F_MKTCRGN_C    = :DCLTFPRODLN.F-MKTCRGN-C
               AND F_DPT_C        = :DCLTFPRJHDR.F-DPT-C
               AND 'ALL'          = :DCLTFPRJHDR.F-SUBDPT-C
               AND F_EXPTYP_C     = :DCLTFPRJHDR.F-EXPTYP-C
               AND F_EXPSUBTYP_C  = :DCLTFPRJHDR.F-EXPSUBTYP-C

               AND (( F_EXPTYP_C     = :DCLTFFCSHDR.F-EXPTYP-C
               AND    F_EXPSUBTYP_C  < :DCLTFFCSHDR.F-EXPSUBTYP-C )

               OR   ( F_EXPTYP_C     < :DCLTFFCSHDR.F-EXPTYP-C ))

             GROUP BY F_EXPTYP_C
                    , F_EXPSUBTYP_C
                    , F_DPT_C

             ORDER BY 2 DESC, 3 DESC, 6
           END-EXEC.

           EJECT
      ***************************************************************
      * CSR_3 GETS THE AUDIT TRAIL INFORMATION.                     *
      ***************************************************************
           EXEC SQL
             DECLARE CSR_3 CURSOR FOR
              SELECT A.A_UID_C
                   , A.DB_UPD_D
                   , A.DB_UPD_T
                   , B.A_EMPNM_X
                FROM D108.TFAUDIT  A
                   , D108.TFSECACS B
               WHERE A.A_UID_C        = B.A_UID_C
                 AND A.DB_TBLNAME_X   = 'TFFCSHDR'
                 AND A.DB_ACTN_C      = 'U'
                 AND A.DB_DATAIMG_C   = 'G'
                 AND (SUBSTR(A.DB_DATAIMG_X,1,12) = :W0001-KEY1
                  OR  SUBSTR(A.DB_DATAIMG_X,1,12) = :W0001-KEY2
                  OR  SUBSTR(A.DB_DATAIMG_X,1,12) = :W0001-KEY3
                  OR  SUBSTR(A.DB_DATAIMG_X,1,12) = :W0001-KEY4
                  OR  SUBSTR(A.DB_DATAIMG_X,1,12) = :W0001-KEY5
                  OR  SUBSTR(A.DB_DATAIMG_X,1,12) = :W0001-KEY6)
               ORDER BY DB_UPD_D DESC
                      , DB_UPD_T DESC
           END-EXEC.

           EJECT
       LINKAGE SECTION.

       01  DFHCOMMAREA.
           05  FILLER                   PICTURE X(4096).

           EJECT
       PROCEDURE DIVISION.

       A000-MAINLINE.

           MOVE 'A000'      TO CA-PARAGRAPH-NBR.

           EXEC CICS HANDLE ABEND                                          CL**2
                LABEL    (Z900-HANDLE-ERROR)                               CL**2
           END-EXEC.                                                       CL**2
                                                                           CL**2
           EXEC CICS HANDLE CONDITION                                      CL**2
                ERROR    (Z900-HANDLE-ERROR)                               CL**2
                ILLOGIC  (Z900-HANDLE-ERROR)                               CL**2
                DSIDERR  (Z900-HANDLE-ERROR)                               CL**2
                INVREQ   (Z900-HANDLE-ERROR)                               CL**2
                IOERR    (Z900-HANDLE-ERROR)                               CL**2
                ISCINVREQ(Z900-HANDLE-ERROR)                               CL**2
                NOSPACE  (Z900-HANDLE-ERROR)                               CL**2
           END-EXEC.                                                       CL**2
                                                                           CL**2
           PERFORM A100-INITIALIZATION.

           IF  CA-CURRENT-PGM = PROGRAM-NAME
               PERFORM A300-ACCEPT-SCREEN

               IF  EIBAID NOT = DFHPF12
                   SET CA-NOT-PF12         TO TRUE
               END-IF

               EVALUATE TRUE
                   WHEN EIBAID = DFHENTER
                        PERFORM B000-PROCESS-ENTER-KEY
                   WHEN EIBAID = DFHCLEAR
                        PERFORM Y400-RETURN-TO-CICS
                   WHEN EIBAID = DFHPF1
                        PERFORM A210-SAVE-MAP
                        SET CA-UPDATE             TO TRUE
                        MOVE FCST-PRD-SUM-TXN-ID  TO W0001-TXN-ID
                        PERFORM Y700-START-TRANSACTION
                   WHEN EIBAID = DFHPF2
                        IF  DISPLAY-PROJECTS
                            SET DISPLAY-FORECASTS TO TRUE
                        ELSE
                            SET DISPLAY-PROJECTS  TO TRUE
                        END-IF

                        PERFORM VARYING W0001-IX FROM 1 BY 1
                          UNTIL W0001-IX > W0001-SCREEN-LINE-LIMIT

                            MOVE WS-M-F-PRJ-N   (W0001-IX)
                              TO F-PRJ-N        IN DCLTFPRJHDR
                            MOVE WS-M-F-FCSID-N (W0001-IX)
                              TO F-FCSID-N      IN DCLTFFCSHDR
                            MOVE WS-M-F-PRJ-X   (W0001-IX)
                              TO F-PRJ-X        IN DCLTFPRJHDR

                            PERFORM B360-BUILD-PROJECT-DESC
                        END-PERFORM
                        MOVE -1            TO M-DPT-CL
                        SET ERRORS TO TRUE
                        MOVE W9999-MSG-049 TO M-MSG-24I
                   WHEN EIBAID = DFHPF3
                        MOVE MAIN-MENU-TXN-ID    TO W0001-TXN-ID
                        PERFORM Y700-START-TRANSACTION
                   WHEN EIBAID = DFHPF4
                        PERFORM A210-SAVE-MAP
                        SET CA-UPDATE         TO TRUE
                        MOVE PRJ-HDR-TXN-ID   TO W0001-TXN-ID
                        PERFORM Y700-START-TRANSACTION
                   WHEN EIBAID = DFHPF5
                        PERFORM A210-SAVE-MAP
                        SET CA-UPDATE         TO TRUE
                        MOVE PRJ-DET-TXN-ID   TO W0001-TXN-ID
                        PERFORM Y700-START-TRANSACTION
                   WHEN EIBAID = DFHPF6
      **=======================================================**
      **  PF6 IS USED FOR TESTING THE HEADING SCENARIOS        **
      **=======================================================**
                        IF  CA-APPLID = 'CICST1'
                        AND CA-SYSTEM-ADMINISTRATOR
                            IF  CA-FISCAL-PERIOD = NSC-FISCAL-PERIOD
                                MOVE CA-FISCAL-PERIOD
                                  TO NSC-FISCAL-PERIOD
                                ADD 1 TO NSC-FISCAL-PERIOD
                                IF  NSC-FISCAL-PERIOD = 13
                                    MOVE 1 TO NSC-FISCAL-PERIOD
                                END-IF
                            ELSE
                                ADD 1 TO CA-FISCAL-PERIOD
                                IF  CA-FISCAL-PERIOD = 13
                                    MOVE 1 TO CA-FISCAL-PERIOD
                                END-IF
                            END-IF
                        ELSE
                            SET ERRORS TO TRUE
                            MOVE W9999-MSG-002 TO M-MSG-24I
                            MOVE -1            TO M-DPT-CL
                        END-IF
                   WHEN EIBAID = DFHPF7
                        PERFORM A210-SAVE-MAP
                        SET CA-UPDATE         TO TRUE
                        MOVE FCST-ADD-TXN-ID  TO W0001-TXN-ID
                        PERFORM Y700-START-TRANSACTION
                   WHEN EIBAID = DFHPF8
                        MOVE WS-M-EXPTYP-CI    TO CA-CURR-EXPTYP-C
                        MOVE WS-M-EXPSUBTYP-CI TO CA-CURR-EXPSUBTYP-C
                        MOVE WS-M-DPT-CI       TO CA-CURR-PROD-LN
                        MOVE WS-M-SUBDPT-CI    TO CA-CURR-SUBPROD-LN
                        MOVE BATCH-RPT-TXN-ID  TO W0001-TXN-ID
                        PERFORM Y700-START-TRANSACTION
                   WHEN EIBAID = DFHPF9
                        IF  CA-FISCAL-PERIOD = 03 OR 06 OR 09 OR 12
                            IF  DISPLAY-NORMAL-FCSTS
                                SET DISPLAY-EXPANDED-FCSTS TO TRUE
                            ELSE
                                SET DISPLAY-NORMAL-FCSTS   TO TRUE
                            END-IF
                            MOVE DFHENTER          TO EIBAID
                            PERFORM B001-PROCESS-PF10-KEY
                        ELSE
                            SET ERRORS TO TRUE
                            MOVE W9999-MSG-002     TO M-MSG-24I
                            MOVE -1                TO M-DPT-CL
                        END-IF
                   WHEN EIBAID = DFHPF10
                        PERFORM B100-VALIDATE-KEYS
                        IF  NO-ERRORS
                        AND CA-UPDATE
                            PERFORM D000-UPDATE-FORECASTS
                            IF  NO-ERRORS
                                PERFORM B001-PROCESS-PF10-KEY
                            END-IF
                        ELSE
                            MOVE DFHENTER      TO EIBAID
                            PERFORM B001-PROCESS-PF10-KEY
                        END-IF
                   WHEN EIBAID = DFHPF11
                        PERFORM B100-VALIDATE-KEYS
                        IF  NO-ERRORS
                        AND CA-UPDATE
                            PERFORM D000-UPDATE-FORECASTS
                            IF  NO-ERRORS
                                PERFORM C000-PROCESS-PF11-CURSOR
                                IF  M-PRJ-NI (1)   EQUAL SPACES
                                    SET NO-ERRORS      TO TRUE
                                    MOVE DFHENTER      TO EIBAID
                                    PERFORM B001-PROCESS-PF10-KEY
                                    MOVE W9999-MSG-005 TO M-MSG-24I
                                    SET ERRORS         TO TRUE
                                    MOVE -1            TO M-DPT-CL
                                END-IF
                            END-IF
                        ELSE
                            MOVE DFHENTER      TO EIBAID
                            PERFORM B001-PROCESS-PF10-KEY
                        END-IF
                   WHEN EIBAID = DFHPF12
                        IF  CA-PF12
                            MOVE MAIN-MENU-TXN-ID  TO W0001-TXN-ID
                            PERFORM Y700-START-TRANSACTION
                        ELSE
                            SET CA-PF12         TO TRUE
                            MOVE CA-CURRENT-PGM TO CA-RETURN-PGM
                            MOVE CA-PREV-TXN    TO W0001-TXN-ID
                            PERFORM Y700-START-TRANSACTION
                        END-IF
                   WHEN OTHER
                        SET ERRORS TO TRUE
                        MOVE W9999-MSG-002 TO M-MSG-24I
                        MOVE -1            TO M-DPT-CL
               END-EVALUATE
           END-IF.

           PERFORM A200-DISPLAY-SCREEN.

           PERFORM Y100-REPEAT-PROGRAM.

           EJECT
       A100-INITIALIZATION.

           MOVE 'A100'      TO CA-PARAGRAPH-NBR.

           IF  EIBCALEN NOT EQUAL ZEROES
               MOVE DFHCOMMAREA TO WS-COMMAREA
               IF  CA-CURRENT-PGM = PROGRAM-NAME
                   CONTINUE
               ELSE
                   MOVE CA-CURRENT-PGM TO CA-PREV-PGM
                   MOVE CA-CURRENT-TXN TO CA-PREV-TXN
               END-IF
           ELSE
               MOVE MAIN-TXN-ID TO W0001-TXN-ID
               PERFORM Y600-START-TRANSACTION
           END-IF.

           EJECT
       A150-SETUP-COMMAREA.

           MOVE 'A150'      TO CA-PARAGRAPH-NBR.

           EXEC CICS ASKTIME
                ABSTIME (W0001-ABSTIME)
           END-EXEC.

           EXEC CICS FORMATTIME
                ABSTIME (W0001-ABSTIME)
                TIME    (W0001-HHCMMCSS)
                TIMESEP
                MMDDYY  (W0001-MMSDDSYY)
                DATESEP
                YEAR    (W0001-YYYY)
           END-EXEC.

           MOVE W0001-MMSDDSYY    TO M-DATEI
                                     CA-DATE.
           MOVE W0001-HHCMMCSS    TO M-TIMEI
                                     CA-TIME.

           EJECT
       A200-DISPLAY-SCREEN.

           MOVE 'A200'      TO CA-PARAGRAPH-NBR.

           IF  CA-CURRENT-PGM = PROGRAM-NAME
               PERFORM A210-SAVE-MAP
           ELSE
               INITIALIZE MAP-SAVE-AREA
               INITIALIZE M108M15I

               PERFORM A150-SETUP-COMMAREA

               MOVE -1     TO M-DPT-CL
               MOVE W9999-MSG-007
                           TO M-MSG-24I

               MOVE CA-CURR-EXPTYP-C    TO M-EXPTYP-CI
               MOVE CA-CURR-EXPSUBTYP-C TO M-EXPSUBTYP-CI
               MOVE CA-CURR-PROD-LN     TO M-DPT-CI

               IF  CA-PREV-SUBPROD-LN  EQUAL 'ALL'
                   MOVE CA-PREV-SUBPROD-LN  TO M-SUBDPT-CI
               ELSE
                   MOVE CA-CURR-SUBPROD-LN  TO M-SUBDPT-CI
               END-IF

               MOVE CA-PREV-EXPTYP-C    TO WS-M-MAX-EXPTYP-C
               MOVE CA-PREV-EXPSUBTYP-C TO WS-M-MAX-SUBTYP-C
               MOVE CA-CURR-FCST-ID     TO WS-M-MAX-FCSID-N
               ADD +1                   TO WS-M-MAX-FCSID-N

               SET DISPLAY-PROJECTS     TO TRUE
               SET DISPLAY-NORMAL-FCSTS TO TRUE

               MOVE DFHPF10             TO EIBAID
               PERFORM B000-PROCESS-ENTER-KEY
           END-IF.

           PERFORM A330-SET-ATTRIBUTES-NORMAL.

           EXEC CICS HANDLE CONDITION
                MAPFAIL (Z100-MAPFAIL)
                ERROR   (Z200-NO-MAPFAIL)
           END-EXEC.

           IF  CA-CURRENT-PGM = PROGRAM-NAME
               EXEC CICS SEND
                    MAP    (MAP-NAME)
                    MAPSET (SET-NAME)
                    FROM   (M108M15I)
                    DATAONLY
                    CURSOR
               END-EXEC
           ELSE
               EXEC CICS SEND
                    MAP    (MAP-NAME)
                    MAPSET (SET-NAME)
                    FROM   (M108M15I)
                    ERASE
                    CURSOR
               END-EXEC
           END-IF.

           EJECT
       A210-SAVE-MAP.

           MOVE 'A210'      TO CA-PARAGRAPH-NBR.

           MOVE WS-M-EXPTYP-CI      TO CA-CURR-EXPTYP-C.
           MOVE WS-M-EXPSUBTYP-CI   TO CA-CURR-EXPSUBTYP-C.
           MOVE WS-M-DPT-CI         TO CA-CURR-PROD-LN
                                       CA-SEL-F-DPT-C (1).
           MOVE WS-M-SUBDPT-CI      TO CA-CURR-SUBPROD-LN
                                       CA-PREV-SUBPROD-LN.

           MOVE EIBCPOSN  TO W0001-CSR-POSITION.

           EVALUATE TRUE
               WHEN W0001-CSR-POSITION >=  +639
                AND W0001-CSR-POSITION <   +719
                    MOVE WS-M-F-PRJ-N    (01) TO CA-CURR-PROJNBR-C
                    MOVE WS-M-F-FCSID-N  (01) TO CA-CURR-FCST-ID
                    MOVE WS-M-F-EXPTYP-C (01) TO CA-PREV-EXPTYP-C
                    MOVE WS-M-F-SUBTYP-C (01) TO CA-PREV-EXPSUBTYP-C
               WHEN W0001-CSR-POSITION >=  +719
                AND W0001-CSR-POSITION <   +799
                    MOVE WS-M-F-PRJ-N    (02) TO CA-CURR-PROJNBR-C
                    MOVE WS-M-F-FCSID-N  (02) TO CA-CURR-FCST-ID
                    MOVE WS-M-F-EXPTYP-C (02) TO CA-PREV-EXPTYP-C
                    MOVE WS-M-F-SUBTYP-C (02) TO CA-PREV-EXPSUBTYP-C
               WHEN W0001-CSR-POSITION >=  +799
                AND W0001-CSR-POSITION <   +879
                    MOVE WS-M-F-PRJ-N    (03) TO CA-CURR-PROJNBR-C
                    MOVE WS-M-F-FCSID-N  (03) TO CA-CURR-FCST-ID
                    MOVE WS-M-F-EXPTYP-C (03) TO CA-PREV-EXPTYP-C
                    MOVE WS-M-F-SUBTYP-C (03) TO CA-PREV-EXPSUBTYP-C
               WHEN W0001-CSR-POSITION >=  +879
                AND W0001-CSR-POSITION <   +959
                    MOVE WS-M-F-PRJ-N    (04) TO CA-CURR-PROJNBR-C
                    MOVE WS-M-F-FCSID-N  (04) TO CA-CURR-FCST-ID
                    MOVE WS-M-F-EXPTYP-C (04) TO CA-PREV-EXPTYP-C
                    MOVE WS-M-F-SUBTYP-C (04) TO CA-PREV-EXPSUBTYP-C
               WHEN W0001-CSR-POSITION >=  +959
                AND W0001-CSR-POSITION <  +1039
                    MOVE WS-M-F-PRJ-N    (05) TO CA-CURR-PROJNBR-C
                    MOVE WS-M-F-FCSID-N  (05) TO CA-CURR-FCST-ID
                    MOVE WS-M-F-EXPTYP-C (05) TO CA-PREV-EXPTYP-C
                    MOVE WS-M-F-SUBTYP-C (05) TO CA-PREV-EXPSUBTYP-C
               WHEN W0001-CSR-POSITION >= +1039
                AND W0001-CSR-POSITION <  +1119
                    MOVE WS-M-F-PRJ-N    (06) TO CA-CURR-PROJNBR-C
                    MOVE WS-M-F-FCSID-N  (06) TO CA-CURR-FCST-ID
                    MOVE WS-M-F-EXPTYP-C (06) TO CA-PREV-EXPTYP-C
                    MOVE WS-M-F-SUBTYP-C (06) TO CA-PREV-EXPSUBTYP-C
               WHEN W0001-CSR-POSITION >= +1119
                AND W0001-CSR-POSITION <  +1199
                    MOVE WS-M-F-PRJ-N    (07) TO CA-CURR-PROJNBR-C
                    MOVE WS-M-F-FCSID-N  (07) TO CA-CURR-FCST-ID
                    MOVE WS-M-F-EXPTYP-C (07) TO CA-PREV-EXPTYP-C
                    MOVE WS-M-F-SUBTYP-C (07) TO CA-PREV-EXPSUBTYP-C
               WHEN W0001-CSR-POSITION >= +1199
                AND W0001-CSR-POSITION <  +1279
                    MOVE WS-M-F-PRJ-N    (08) TO CA-CURR-PROJNBR-C
                    MOVE WS-M-F-FCSID-N  (08) TO CA-CURR-FCST-ID
                    MOVE WS-M-F-EXPTYP-C (08) TO CA-PREV-EXPTYP-C
                    MOVE WS-M-F-SUBTYP-C (08) TO CA-PREV-EXPSUBTYP-C
               WHEN W0001-CSR-POSITION >= +1279
                AND W0001-CSR-POSITION <  +1359
                    MOVE WS-M-F-PRJ-N    (09) TO CA-CURR-PROJNBR-C
                    MOVE WS-M-F-FCSID-N  (09) TO CA-CURR-FCST-ID
                    MOVE WS-M-F-EXPTYP-C (09) TO CA-PREV-EXPTYP-C
                    MOVE WS-M-F-SUBTYP-C (09) TO CA-PREV-EXPSUBTYP-C
               WHEN W0001-CSR-POSITION >= +1359
                AND W0001-CSR-POSITION <  +1439
                    MOVE WS-M-F-PRJ-N    (10) TO CA-CURR-PROJNBR-C
                    MOVE WS-M-F-FCSID-N  (10) TO CA-CURR-FCST-ID
                    MOVE WS-M-F-EXPTYP-C (10) TO CA-PREV-EXPTYP-C
                    MOVE WS-M-F-SUBTYP-C (10) TO CA-PREV-EXPSUBTYP-C
               WHEN W0001-CSR-POSITION >= +1439
                AND W0001-CSR-POSITION <  +1519
                    MOVE WS-M-F-PRJ-N    (11) TO CA-CURR-PROJNBR-C
                    MOVE WS-M-F-FCSID-N  (11) TO CA-CURR-FCST-ID
                    MOVE WS-M-F-EXPTYP-C (11) TO CA-PREV-EXPTYP-C
                    MOVE WS-M-F-SUBTYP-C (11) TO CA-PREV-EXPSUBTYP-C
               WHEN W0001-CSR-POSITION >= +1519
                AND W0001-CSR-POSITION <  +1599
                    MOVE WS-M-F-PRJ-N    (12) TO CA-CURR-PROJNBR-C
                    MOVE WS-M-F-FCSID-N  (12) TO CA-CURR-FCST-ID
                    MOVE WS-M-F-EXPTYP-C (12) TO CA-PREV-EXPTYP-C
                    MOVE WS-M-F-SUBTYP-C (12) TO CA-PREV-EXPSUBTYP-C
               WHEN W0001-CSR-POSITION >= +1599
                AND W0001-CSR-POSITION <  +1679
                    MOVE WS-M-F-PRJ-N    (13) TO CA-CURR-PROJNBR-C
                    MOVE WS-M-F-FCSID-N  (13) TO CA-CURR-FCST-ID
                    MOVE WS-M-F-EXPTYP-C (13) TO CA-PREV-EXPTYP-C
                    MOVE WS-M-F-SUBTYP-C (13) TO CA-PREV-EXPSUBTYP-C
               WHEN OTHER
                    MOVE ZEROES               TO CA-CURR-FCST-ID
                    MOVE SPACES               TO CA-CURR-PROJNBR-C
                    MOVE SPACES               TO CA-PREV-EXPTYP-C
                    MOVE SPACES               TO CA-PREV-EXPSUBTYP-C
           END-EVALUATE.

           IF  CA-CURR-FCST-ID < 0
               MOVE ZEROES  TO CA-CURR-FCST-ID
           END-IF.

           EJECT
       A300-ACCEPT-SCREEN.

           MOVE 'A300'      TO CA-PARAGRAPH-NBR.

           EXEC CICS IGNORE CONDITION
                MAPFAIL
           END-EXEC.

           EXEC CICS HANDLE CONDITION
                ERROR (Z200-NO-MAPFAIL)
           END-EXEC.

           EXEC CICS RECEIVE
                MAP    (MAP-NAME)
                MAPSET (SET-NAME)
                INTO   (M108M15I)
           END-EXEC.

           INSPECT M-EXPTYP-CI    REPLACING ALL '_' BY ' '.
           INSPECT M-EXPSUBTYP-CI REPLACING ALL '_' BY ' '.
           INSPECT M-DPT-CI       REPLACING ALL '_' BY ' '.
           INSPECT M-SUBDPT-CI    REPLACING ALL '_' BY ' '.

           INSPECT M-EXPTYP-CI    REPLACING ALL LOW-VALUES BY ' '.
           INSPECT M-EXPSUBTYP-CI REPLACING ALL LOW-VALUES BY ' '.
           INSPECT M-DPT-CI       REPLACING ALL LOW-VALUES BY ' '.
           INSPECT M-SUBDPT-CI    REPLACING ALL LOW-VALUES BY ' '.

           PERFORM VARYING W0001-X FROM 1 BY 1
             UNTIL W0001-X > W0001-SCREEN-LINE-LIMIT
             PERFORM VARYING W0001-Y FROM 1 BY 1
               UNTIL W0001-Y > W0001-FIELD-OCCURS-LIMIT
                 INSPECT M-AMT-AI (W0001-X, W0001-Y)
                     REPLACING ALL '_' BY ' '
                 INSPECT M-AMT-AI (W0001-X, W0001-Y)
                     REPLACING ALL LOW-VALUES BY ' '
               END-PERFORM
           END-PERFORM.

           EJECT
       A330-SET-ATTRIBUTES-NORMAL.

           MOVE 'A330'      TO CA-PARAGRAPH-NBR.

           MOVE ATTR-ALPHA-UNPROT-MDT TO
                                        M-EXPTYP-CA
                                        M-EXPSUBTYP-CA
                                        M-DPT-CA
                                        M-SUBDPT-CA.

           MOVE ATTR-ALPHA-PROT         TO
                                        M-EXPTYP-XA
                                        M-DPT-XA
                                        M-MKTCRGN-CA
                                        M-MKTCRGN-XA.

           MOVE ATTR-ALPHA-PROT-BRT-PEN TO
                                        M-UID-CA
                                        M-DATEA
                                        M-TIMEA
                                        M-FCSQTR-XA
                                        M-FCSDESC-XA

           MOVE ATTR-ALPHA-PROT         TO
                                        M-CURRPD-DA
                                        M-LASTUPD-DA
                                        M-LASTUPD-XA
                                        M-MSG-24A.

           PERFORM VARYING W0001-Y FROM 1 BY 1
                     UNTIL W0001-Y > W0001-FIELD-OCCURS-LIMIT
               MOVE ATTR-ALPHA-PROT-BRT-PEN-MDT  TO
                                               M-HDG1A (W0001-Y)
                                               M-HDG2A (W0001-Y)
           END-PERFORM.

           PERFORM VARYING W0001-X FROM 1 BY 1
             UNTIL W0001-X > W0001-SCREEN-LINE-LIMIT

               MOVE ATTR-ALPHA-PROT-MDT TO
                                M-PRJ-NA        (W0001-X)

               IF  M-PRJ-NI   (W0001-X) EQUAL SPACES
                   PERFORM A331-SET-PERIOD-ATTRIBUTES

                   PERFORM VARYING W0001-Y FROM 1 BY 1
                     UNTIL W0001-Y > W0001-FIELD-OCCURS-LIMIT
                       MOVE ATTR-ALPHA-PROT-MDT TO
                                       M-AMT-AA (W0001-X, W0001-Y)
                       MOVE SPACES  TO M-AMT-AI (W0001-X, W0001-Y)
                   END-PERFORM
               ELSE
                   PERFORM A331-SET-PERIOD-ATTRIBUTES
               END-IF

               IF  WS-M-F-FCSID-N (W0001-X) < 0
                   MOVE ATTR-ALPHA-PROT-BRT-PEN-MDT  TO
                                       M-PRJ-NA        (W0001-X)
                   PERFORM VARYING W0001-Y FROM 1 BY 1
                     UNTIL W0001-Y > W0001-FIELD-OCCURS-LIMIT
                       MOVE ATTR-ALPHA-PROT-BRT-PEN-MDT  TO
                                       M-AMT-AA (W0001-X, W0001-Y)
                       INSPECT M-AMT-AI (W0001-X, W0001-Y)
                            REPLACING ALL '_' BY ' '
                   END-PERFORM
               END-IF
           END-PERFORM.

           MOVE M-EXPTYP-CI      TO W9998-DATA.
           PERFORM Z998-MOVE-UNDERSCORES.
           MOVE W9998-DATA       TO M-EXPTYP-CI.

           MOVE M-EXPSUBTYP-CI   TO W9998-DATA.
           PERFORM Z998-MOVE-UNDERSCORES.
           MOVE W9998-DATA       TO M-EXPSUBTYP-CI.

           MOVE M-DPT-CI         TO W9998-DATA.
           PERFORM Z998-MOVE-UNDERSCORES.
           MOVE W9998-DATA       TO M-DPT-CI.

           MOVE M-SUBDPT-CI      TO W9998-DATA.
           PERFORM Z998-MOVE-UNDERSCORES.
           MOVE W9998-DATA       TO M-SUBDPT-CI.

           MOVE CA-OP-ID         TO M-UID-CI.
           MOVE CA-DATE          TO M-DATEI.
           MOVE CA-TIME          TO M-TIMEI.

           MOVE CA-OP-RGN        TO M-MKTCRGN-CI.
           MOVE CA-OP-RGN-X      TO M-MKTCRGN-XI.

           MOVE CA-FISCAL-YEAR   TO M-CURRPD-DI(1:2).
           MOVE '/'              TO M-CURRPD-DI(3:1).
           MOVE CA-FISCAL-PERIOD TO M-CURRPD-DI(4:2).

           IF  DISPLAY-PROJECTS
               MOVE 'PA#/FCST DESCRIPTION'  TO M-FCSDESC-XI
           ELSE
               MOVE 'FCST  DESCRIPTION'     TO M-FCSDESC-XI
           END-IF.

           EVALUATE CA-FISCAL-PERIOD
               WHEN 01
                    MOVE SPACES          TO  M-FCSQTR-XI
               WHEN 02
                    MOVE SPACES          TO  M-FCSQTR-XI
               WHEN 03
                    MOVE 'F9-FCST Q3/Q4' TO  M-FCSQTR-XI
               WHEN 04
                    MOVE SPACES          TO  M-FCSQTR-XI
               WHEN 05
                    MOVE SPACES          TO  M-FCSQTR-XI
               WHEN 06
                    MOVE 'F9-FCST Q4'    TO  M-FCSQTR-XI
               WHEN 07
                    MOVE SPACES          TO  M-FCSQTR-XI
               WHEN 08
                    MOVE SPACES          TO  M-FCSQTR-XI
               WHEN 09
                    MOVE 'F9-FCST Q1'    TO  M-FCSQTR-XI
               WHEN 10
                    MOVE SPACES          TO  M-FCSQTR-XI
               WHEN 11
                    MOVE SPACES          TO  M-FCSQTR-XI
               WHEN 12
                    MOVE 'F9-FCST Q2'    TO  M-FCSQTR-XI
           END-EVALUATE.

           EJECT
       A331-SET-PERIOD-ATTRIBUTES.

           MOVE 'A331'      TO CA-PARAGRAPH-NBR.

           MOVE ATTR-ALPHA-PROT-MDT   TO
                   M-AMT-AA (W0001-X,  1)
                   M-AMT-AA (W0001-X,  2)
                   M-AMT-AA (W0001-X,  3)
                   M-AMT-AA (W0001-X,  4).

      **=========================================================**
      ** LEAVE THE FORECAST VALUE FOR THE CURRENT MTS PERIOD     **
      ** UNPROTECTED UNTIL THE FINAL WEEK OF MTS, WHICH IS THE   **
      ** FIRST FISCAL WEEK FOR NSC.                              **
      **=========================================================**

           IF  CA-FISCAL-PERIOD = NSC-FISCAL-PERIOD
               EVALUATE CA-FISCAL-PERIOD
                   WHEN 01
                        MOVE W0001-HDG1-PD01 TO W0001-HDG
                        PERFORM A332-MOVE-HEADINGS-TO-SCREEN

                        MOVE W0001-HDG2-PD01 TO W0001-HDG
                        PERFORM A333-MOVE-HEADINGS-TO-SCREEN

                        MOVE ATTR-ALPHA-PROT-MDT   TO
                                M-AMT-AA (W0001-X,  8)

                        MOVE ATTR-ALPHA-UNPROT-MDT TO
                                M-AMT-AA (W0001-X,  5)
                                M-AMT-AA (W0001-X,  6)
                                M-AMT-AA (W0001-X,  7)
                                M-AMT-AA (W0001-X,  9)
                                M-AMT-AA (W0001-X, 10)
                                M-AMT-AA (W0001-X, 11)

                        INSPECT M-AMT-AI (W0001-X,  5)
                            REPLACING ALL ' ' BY '_'
                        INSPECT M-AMT-AI (W0001-X,  6)
                            REPLACING ALL ' ' BY '_'
                        INSPECT M-AMT-AI (W0001-X,  7)
                            REPLACING ALL ' ' BY '_'
                        INSPECT M-AMT-AI (W0001-X,  9)
                            REPLACING ALL ' ' BY '_'
                        INSPECT M-AMT-AI (W0001-X, 10)
                            REPLACING ALL ' ' BY '_'
                        INSPECT M-AMT-AI (W0001-X, 11)
                            REPLACING ALL ' ' BY '_'
                   WHEN 02
                        MOVE W0001-HDG1-PD02 TO W0001-HDG
                        PERFORM A332-MOVE-HEADINGS-TO-SCREEN

                        MOVE W0001-HDG2-PD02 TO W0001-HDG
                        PERFORM A333-MOVE-HEADINGS-TO-SCREEN

                        MOVE ATTR-ALPHA-PROT-MDT   TO
                                M-AMT-AA (W0001-X,  5)
                                M-AMT-AA (W0001-X,  8)

                        MOVE ATTR-ALPHA-UNPROT-MDT TO
                                M-AMT-AA (W0001-X,  6)
                                M-AMT-AA (W0001-X,  7)
                                M-AMT-AA (W0001-X,  9)
                                M-AMT-AA (W0001-X, 10)
                                M-AMT-AA (W0001-X, 11)

                        INSPECT M-AMT-AI (W0001-X,  6)
                            REPLACING ALL ' ' BY '_'
                        INSPECT M-AMT-AI (W0001-X,  7)
                            REPLACING ALL ' ' BY '_'
                        INSPECT M-AMT-AI (W0001-X,  9)
                            REPLACING ALL ' ' BY '_'
                        INSPECT M-AMT-AI (W0001-X, 10)
                            REPLACING ALL ' ' BY '_'
                        INSPECT M-AMT-AI (W0001-X, 11)
                            REPLACING ALL ' ' BY '_'
                   WHEN 03
                        IF  DISPLAY-NORMAL-FCSTS
                            MOVE W0001-HDG1-PD03 TO W0001-HDG
                            PERFORM A332-MOVE-HEADINGS-TO-SCREEN

                            MOVE W0001-HDG2-PD03 TO W0001-HDG
                            PERFORM A333-MOVE-HEADINGS-TO-SCREEN

                            MOVE ATTR-ALPHA-PROT-MDT   TO
                                    M-AMT-AA (W0001-X,  6)
                                    M-AMT-AA (W0001-X,  7)
                                    M-AMT-AA (W0001-X, 11)

                            MOVE ATTR-ALPHA-UNPROT-MDT TO
                                    M-AMT-AA (W0001-X,  5)
                                    M-AMT-AA (W0001-X,  8)
                                    M-AMT-AA (W0001-X,  9)
                                    M-AMT-AA (W0001-X, 10)

                            INSPECT M-AMT-AI (W0001-X,  5)
                                REPLACING ALL ' ' BY '_'
                            INSPECT M-AMT-AI (W0001-X,  8)
                                REPLACING ALL ' ' BY '_'
                            INSPECT M-AMT-AI (W0001-X,  9)
                                REPLACING ALL ' ' BY '_'
                            INSPECT M-AMT-AI (W0001-X, 10)
                                REPLACING ALL ' ' BY '_'
                        ELSE
                            MOVE W0001-HDG1-PD03A TO W0001-HDG
                            PERFORM A332-MOVE-HEADINGS-TO-SCREEN

                            MOVE W0001-HDG2-PD03A TO W0001-HDG
                            PERFORM A333-MOVE-HEADINGS-TO-SCREEN

                            MOVE ATTR-ALPHA-PROT-MDT   TO
                                    M-AMT-AA (W0001-X,  6)
                                    M-AMT-AA (W0001-X,  7)
                                    M-AMT-AA (W0001-X,  8)
                                    M-AMT-AA (W0001-X, 11)

                             OVE ATTR-ALPHA-UNPROT-MDT TO
                                    M-AMT-AA (W0001-X,  5)
                                    M-AMT-AA (W0001-X,  9)
                                    M-AMT-AA (W0001-X, 10)

                            INSPECT M-AMT-AI (W0001-X,  5)
                                REPLACING ALL ' ' BY '_'
                            INSPECT M-AMT-AI (W0001-X,  9)
                                REPLACING ALL ' ' BY '_'
                            INSPECT M-AMT-AI (W0001-X, 10)
                                REPLACING ALL ' ' BY '_'
                        END-IF
                   WHEN 04
                        MOVE W0001-HDG1-PD04 TO W0001-HDG
                        PERFORM A332-MOVE-HEADINGS-TO-SCREEN

                        MOVE W0001-HDG2-PD04 TO W0001-HDG
                        PERFORM A333-MOVE-HEADINGS-TO-SCREEN

                        MOVE ATTR-ALPHA-PROT-MDT   TO
                                M-AMT-AA (W0001-X,  5)
                                M-AMT-AA (W0001-X,  9)

                        MOVE ATTR-ALPHA-UNPROT-MDT TO
                                M-AMT-AA (W0001-X,  6)
                                M-AMT-AA (W0001-X,  7)
                                M-AMT-AA (W0001-X,  8)
                                M-AMT-AA (W0001-X, 10)
                                M-AMT-AA (W0001-X, 11)

                        INSPECT M-AMT-AI (W0001-X,  6)
                            REPLACING ALL ' ' BY '_'
                        INSPECT M-AMT-AI (W0001-X,  7)
                            REPLACING ALL ' ' BY '_'
                        INSPECT M-AMT-AI (W0001-X,  8)
                            REPLACING ALL ' ' BY '_'
                        INSPECT M-AMT-AI (W0001-X, 10)
                            REPLACING ALL ' ' BY '_'
                        INSPECT M-AMT-AI (W0001-X, 11)
                            REPLACING ALL ' ' BY '_'
                   WHEN 05
                        MOVE W0001-HDG1-PD05 TO W0001-HDG
                        PERFORM A332-MOVE-HEADINGS-TO-SCREEN

                        MOVE W0001-HDG2-PD05 TO W0001-HDG
                        PERFORM A333-MOVE-HEADINGS-TO-SCREEN

                        MOVE ATTR-ALPHA-PROT-MDT   TO
                                M-AMT-AA (W0001-X,  5)
                                M-AMT-AA (W0001-X,  6)
                                M-AMT-AA (W0001-X,  9)

                        MOVE ATTR-ALPHA-UNPROT-MDT TO
                                M-AMT-AA (W0001-X,  7)
                                M-AMT-AA (W0001-X,  8)
                                M-AMT-AA (W0001-X, 10)
                                M-AMT-AA (W0001-X, 11)

                        INSPECT M-AMT-AI (W0001-X,  7)
                            REPLACING ALL ' ' BY '_'
                        INSPECT M-AMT-AI (W0001-X,  8)
                            REPLACING ALL ' ' BY '_'
                        INSPECT M-AMT-AI (W0001-X, 10)
                            REPLACING ALL ' ' BY '_'
                        INSPECT M-AMT-AI (W0001-X, 11)
                            REPLACING ALL ' ' BY '_'
                   WHEN 06
                        IF  DISPLAY-NORMAL-FCSTS
                            MOVE W0001-HDG1-PD06 TO W0001-HDG
                            PERFORM A332-MOVE-HEADINGS-TO-SCREEN

                            MOVE W0001-HDG2-PD06 TO W0001-HDG
                            PERFORM A333-MOVE-HEADINGS-TO-SCREEN

                            MOVE ATTR-ALPHA-PROT-MDT   TO
                                    M-AMT-AA (W0001-X,  6)
                                    M-AMT-AA (W0001-X,  7)
                                    M-AMT-AA (W0001-X, 11)

                            MOVE ATTR-ALPHA-UNPROT-MDT TO
                                    M-AMT-AA (W0001-X,  5)
                                    M-AMT-AA (W0001-X,  8)
                                    M-AMT-AA (W0001-X,  9)
                                    M-AMT-AA (W0001-X, 10)

                            INSPECT M-AMT-AI (W0001-X,  5)
                                REPLACING ALL ' ' BY '_'
                            INSPECT M-AMT-AI (W0001-X,  8)
                                REPLACING ALL ' ' BY '_'
                            INSPECT M-AMT-AI (W0001-X,  9)
                                REPLACING ALL ' ' BY '_'
                            INSPECT M-AMT-AI (W0001-X, 10)
                                REPLACING ALL ' ' BY '_'
                        ELSE
                            MOVE W0001-HDG1-PD06A TO W0001-HDG
                            PERFORM A332-MOVE-HEADINGS-TO-SCREEN

                            MOVE W0001-HDG2-PD06A TO W0001-HDG
                            PERFORM A333-MOVE-HEADINGS-TO-SCREEN

                            MOVE ATTR-ALPHA-PROT-MDT   TO
                                    M-AMT-AA (W0001-X,  6)
                                    M-AMT-AA (W0001-X,  7)
                                    M-AMT-AA (W0001-X,  8)
                                    M-AMT-AA (W0001-X, 10)
                                    M-AMT-AA (W0001-X, 11)

                            MOVE ATTR-ALPHA-UNPROT-MDT TO
                                    M-AMT-AA (W0001-X,  5)
                                    M-AMT-AA (W0001-X,  9)

                            INSPECT M-AMT-AI (W0001-X,  5)
                                REPLACING ALL ' ' BY '_'
                            INSPECT M-AMT-AI (W0001-X,  9)
                                REPLACING ALL ' ' BY '_'

                            MOVE SPACES TO M-AMT-AI (W0001-X, 11)
                       END-IF
                   WHEN 07
                        MOVE W0001-HDG1-PD07 TO W0001-HDG
                        PERFORM A332-MOVE-HEADINGS-TO-SCREEN

                        MOVE W0001-HDG2-PD07 TO W0001-HDG
                        PERFORM A333-MOVE-HEADINGS-TO-SCREEN

                        MOVE ATTR-ALPHA-PROT-MDT   TO
                                M-AMT-AA (W0001-X,  5)
                                M-AMT-AA (W0001-X,  6)
                                M-AMT-AA (W0001-X, 10)

                        MOVE ATTR-ALPHA-UNPROT-MDT TO
                                M-AMT-AA (W0001-X,  7)
                                M-AMT-AA (W0001-X,  8)
                                M-AMT-AA (W0001-X,  9)
                                M-AMT-AA (W0001-X, 11)

                        INSPECT M-AMT-AI (W0001-X,  7)
                            REPLACING ALL ' ' BY '_'
                        INSPECT M-AMT-AI (W0001-X,  8)
                            REPLACING ALL ' ' BY '_'
                        INSPECT M-AMT-AI (W0001-X,  9)
                            REPLACING ALL ' ' BY '_'
                        INSPECT M-AMT-AI (W0001-X, 11)
                            REPLACING ALL ' ' BY '_'
                   WHEN 08
                        MOVE W0001-HDG1-PD08 TO W0001-HDG
                        PERFORM A332-MOVE-HEADINGS-TO-SCREEN

                        MOVE W0001-HDG2-PD08 TO W0001-HDG
                        PERFORM A333-MOVE-HEADINGS-TO-SCREEN

                        MOVE ATTR-ALPHA-PROT-MDT   TO
                                M-AMT-AA (W0001-X,  5)
                                M-AMT-AA (W0001-X,  6)
                                M-AMT-AA (W0001-X,  7)
                                M-AMT-AA (W0001-X, 10)

                        MOVE ATTR-ALPHA-UNPROT-MDT TO
                                M-AMT-AA (W0001-X,  8)
                                M-AMT-AA (W0001-X,  9)
                                M-AMT-AA (W0001-X, 11)

                        INSPECT M-AMT-AI (W0001-X,  8)
                            REPLACING ALL ' ' BY '_'
                        INSPECT M-AMT-AI (W0001-X,  9)
                            REPLACING ALL ' ' BY '_'
                        INSPECT M-AMT-AI (W0001-X, 11)
                            REPLACING ALL ' ' BY '_'
                   WHEN 09
                        IF  DISPLAY-NORMAL-FCSTS
                            MOVE W0001-HDG1-PD09 TO W0001-HDG
                            PERFORM A332-MOVE-HEADINGS-TO-SCREEN

                            MOVE W0001-HDG2-PD09 TO W0001-HDG
                            PERFORM A333-MOVE-HEADINGS-TO-SCREEN

                            MOVE ATTR-ALPHA-PROT-MDT   TO
                                    M-AMT-AA (W0001-X,  6)
                                    M-AMT-AA (W0001-X,  7)
                                    M-AMT-AA (W0001-X, 11)

                            MOVE ATTR-ALPHA-UNPROT-MDT TO
                                    M-AMT-AA (W0001-X,  5)
                                    M-AMT-AA (W0001-X,  8)
                                    M-AMT-AA (W0001-X,  9)
                                    M-AMT-AA (W0001-X, 10)

                            INSPECT M-AMT-AI (W0001-X,  5)
                                REPLACING ALL ' ' BY '_'
                            INSPECT M-AMT-AI (W0001-X,  8)
                                REPLACING ALL ' ' BY '_'
                            INSPECT M-AMT-AI (W0001-X,  9)
                                REPLACING ALL ' ' BY '_'
                            INSPECT M-AMT-AI (W0001-X, 10)
                                REPLACING ALL ' ' BY '_'
                        ELSE
                            MOVE W0001-HDG1-PD09A TO W0001-HDG
                            PERFORM A332-MOVE-HEADINGS-TO-SCREEN

                            MOVE W0001-HDG2-PD09A TO W0001-HDG
                            PERFORM A333-MOVE-HEADINGS-TO-SCREEN

                            MOVE ATTR-ALPHA-PROT-MDT   TO
                                    M-AMT-AA (W0001-X,  6)
                                    M-AMT-AA (W0001-X,  7)
                                    M-AMT-AA (W0001-X,  8)
                                    M-AMT-AA (W0001-X,  9)
                                    M-AMT-AA (W0001-X, 11)

                            MOVE ATTR-ALPHA-UNPROT-MDT TO
                                    M-AMT-AA (W0001-X,  5)
                                    M-AMT-AA (W0001-X, 10)

                            INSPECT M-AMT-AI (W0001-X,  5)
                                REPLACING ALL ' ' BY '_'
                            INSPECT M-AMT-AI (W0001-X, 10)
                                REPLACING ALL ' ' BY '_'

                            MOVE SPACES TO M-AMT-AI (W0001-X, 11)
                       END-IF
                   WHEN 10
                        MOVE W0001-HDG1-PD10 TO W0001-HDG
                        PERFORM A332-MOVE-HEADINGS-TO-SCREEN

                        MOVE W0001-HDG2-PD10 TO W0001-HDG
                        PERFORM A333-MOVE-HEADINGS-TO-SCREEN

                        MOVE ATTR-ALPHA-PROT-MDT   TO
                                M-AMT-AA (W0001-X,  5)
                                M-AMT-AA (W0001-X,  6)
                                M-AMT-AA (W0001-X, 10)

                        MOVE ATTR-ALPHA-UNPROT-MDT TO
                                M-AMT-AA (W0001-X,  7)
                                M-AMT-AA (W0001-X,  8)
                                M-AMT-AA (W0001-X,  9)
                                M-AMT-AA (W0001-X, 11)

                        INSPECT M-AMT-AI (W0001-X,  7)
                            REPLACING ALL ' ' BY '_'
                        INSPECT M-AMT-AI (W0001-X,  8)
                            REPLACING ALL ' ' BY '_'
                        INSPECT M-AMT-AI (W0001-X,  9)
                            REPLACING ALL ' ' BY '_'
                        INSPECT M-AMT-AI (W0001-X, 11)
                            REPLACING ALL ' ' BY '_'
                   WHEN 11
                        MOVE W0001-HDG1-PD11 TO W0001-HDG
                        PERFORM A332-MOVE-HEADINGS-TO-SCREEN

                        MOVE W0001-HDG2-PD11 TO W0001-HDG
                        PERFORM A333-MOVE-HEADINGS-TO-SCREEN

                        MOVE ATTR-ALPHA-PROT-MDT   TO
                                M-AMT-AA (W0001-X,  5)
                                M-AMT-AA (W0001-X,  6)
                                M-AMT-AA (W0001-X,  7)
                                M-AMT-AA (W0001-X, 10)

                        MOVE ATTR-ALPHA-UNPROT-MDT TO
                                M-AMT-AA (W0001-X,  8)
                                M-AMT-AA (W0001-X,  9)
                                M-AMT-AA (W0001-X, 11)

                        INSPECT M-AMT-AI (W0001-X,  8)
                            REPLACING ALL ' ' BY '_'
                        INSPECT M-AMT-AI (W0001-X,  9)
                            REPLACING ALL ' ' BY '_'
                        INSPECT M-AMT-AI (W0001-X, 11)
                            REPLACING ALL ' ' BY '_'
                   WHEN 12
                        IF  DISPLAY-NORMAL-FCSTS
                            MOVE W0001-HDG1-PD12 TO W0001-HDG
                            PERFORM A332-MOVE-HEADINGS-TO-SCREEN

                            MOVE W0001-HDG2-PD12 TO W0001-HDG
                            PERFORM A333-MOVE-HEADINGS-TO-SCREEN

                            MOVE ATTR-ALPHA-PROT-MDT   TO
                                    M-AMT-AA (W0001-X,  6)
                                    M-AMT-AA (W0001-X,  7)
                                    M-AMT-AA (W0001-X, 11)

                            MOVE ATTR-ALPHA-UNPROT-MDT TO
                                    M-AMT-AA (W0001-X,  5)
                                    M-AMT-AA (W0001-X,  8)
                                    M-AMT-AA (W0001-X,  9)
                                    M-AMT-AA (W0001-X, 10)

                            INSPECT M-AMT-AI (W0001-X,  5)
                                REPLACING ALL ' ' BY '_'
                            INSPECT M-AMT-AI (W0001-X,  8)
                                REPLACING ALL ' ' BY '_'
                            INSPECT M-AMT-AI (W0001-X,  9)
                                REPLACING ALL ' ' BY '_'
                            INSPECT M-AMT-AI (W0001-X, 10)
                                REPLACING ALL ' ' BY '_'
                        ELSE
                            MOVE W0001-HDG1-PD12A TO W0001-HDG
                            PERFORM A332-MOVE-HEADINGS-TO-SCREEN

                            MOVE W0001-HDG2-PD12A TO W0001-HDG
                            PERFORM A333-MOVE-HEADINGS-TO-SCREEN

                            MOVE ATTR-ALPHA-PROT-MDT   TO
                                    M-AMT-AA (W0001-X,  6)
                                    M-AMT-AA (W0001-X,  7)
                                    M-AMT-AA (W0001-X,  8)

                            MOVE ATTR-ALPHA-UNPROT-MDT TO
                                    M-AMT-AA (W0001-X,  5)
                                    M-AMT-AA (W0001-X,  9)
                                    M-AMT-AA (W0001-X, 10)
                                    M-AMT-AA (W0001-X, 11)

                            INSPECT M-AMT-AI (W0001-X,  5)
                                REPLACING ALL ' ' BY '_'
                            INSPECT M-AMT-AI (W0001-X,  9)
                                REPLACING ALL ' ' BY '_'
                            INSPECT M-AMT-AI (W0001-X, 10)
                                REPLACING ALL ' ' BY '_'
                            INSPECT M-AMT-AI (W0001-X, 11)
                                REPLACING ALL ' ' BY '_'
                        END-IF
               END-EVALUATE
           ELSE
               EVALUATE CA-FISCAL-PERIOD
                   WHEN 01
                        MOVE W0001-HDG1-PD01 TO W0001-HDG
                        PERFORM A332-MOVE-HEADINGS-TO-SCREEN

                        MOVE W0001-HDG2-PD01 TO W0001-HDG
                        PERFORM A333-MOVE-HEADINGS-TO-SCREEN

                        MOVE ATTR-ALPHA-PROT-MDT   TO
                                M-AMT-AA (W0001-X,  5)
                                M-AMT-AA (W0001-X,  8)

                        MOVE ATTR-ALPHA-UNPROT-MDT TO
                                M-AMT-AA (W0001-X,  6)
                                M-AMT-AA (W0001-X,  7)
                                M-AMT-AA (W0001-X,  9)
                                M-AMT-AA (W0001-X, 10)
                                M-AMT-AA (W0001-X, 11)

                        INSPECT M-AMT-AI (W0001-X,  6)
                            REPLACING ALL ' ' BY '_'
                        INSPECT M-AMT-AI (W0001-X,  7)
                            REPLACING ALL ' ' BY '_'
                        INSPECT M-AMT-AI (W0001-X,  9)
                            REPLACING ALL ' ' BY '_'
                        INSPECT M-AMT-AI (W0001-X, 10)
                            REPLACING ALL ' ' BY '_'
                        INSPECT M-AMT-AI (W0001-X, 11)
                            REPLACING ALL ' ' BY '_'
                   WHEN 02
                        MOVE W0001-HDG1-PD02 TO W0001-HDG
                        PERFORM A332-MOVE-HEADINGS-TO-SCREEN

                        MOVE W0001-HDG2-PD02 TO W0001-HDG
                        PERFORM A333-MOVE-HEADINGS-TO-SCREEN

                        MOVE ATTR-ALPHA-PROT-MDT   TO
                                M-AMT-AA (W0001-X,  5)
                                M-AMT-AA (W0001-X,  6)
                                M-AMT-AA (W0001-X,  8)

                        MOVE ATTR-ALPHA-UNPROT-MDT TO
                                M-AMT-AA (W0001-X,  7)
                                M-AMT-AA (W0001-X,  9)
                                M-AMT-AA (W0001-X, 10)
                                M-AMT-AA (W0001-X, 11)

                        INSPECT M-AMT-AI (W0001-X,  7)
                            REPLACING ALL ' ' BY '_'
                        INSPECT M-AMT-AI (W0001-X,  9)
                            REPLACING ALL ' ' BY '_'
                        INSPECT M-AMT-AI (W0001-X, 10)
                            REPLACING ALL ' ' BY '_'
                        INSPECT M-AMT-AI (W0001-X, 11)
                            REPLACING ALL ' ' BY '_'
                   WHEN 03
                        IF  DISPLAY-NORMAL-FCSTS
                            MOVE W0001-HDG1-PD03 TO W0001-HDG
                            PERFORM A332-MOVE-HEADINGS-TO-SCREEN

                            MOVE W0001-HDG2-PD03 TO W0001-HDG
                            PERFORM A333-MOVE-HEADINGS-TO-SCREEN

                            MOVE ATTR-ALPHA-PROT-MDT   TO
                                    M-AMT-AA (W0001-X,  5)
                                    M-AMT-AA (W0001-X,  6)
                                    M-AMT-AA (W0001-X,  7)
                                    M-AMT-AA (W0001-X, 11)

                            MOVE ATTR-ALPHA-UNPROT-MDT TO
                                    M-AMT-AA (W0001-X,  8)
                                    M-AMT-AA (W0001-X,  9)
                                    M-AMT-AA (W0001-X, 10)

                            INSPECT M-AMT-AI (W0001-X,  8)
                                REPLACING ALL ' ' BY '_'
                            INSPECT M-AMT-AI (W0001-X,  9)
                                REPLACING ALL ' ' BY '_'
                            INSPECT M-AMT-AI (W0001-X, 10)
                                REPLACING ALL ' ' BY '_'
                        ELSE
                            MOVE W0001-HDG1-PD03A TO W0001-HDG
                            PERFORM A332-MOVE-HEADINGS-TO-SCREEN

                            MOVE W0001-HDG2-PD03A TO W0001-HDG
                            PERFORM A333-MOVE-HEADINGS-TO-SCREEN

                            MOVE ATTR-ALPHA-PROT-MDT   TO
                                    M-AMT-AA (W0001-X,  5)
                                    M-AMT-AA (W0001-X,  6)
                                    M-AMT-AA (W0001-X,  7)
                                    M-AMT-AA (W0001-X,  8)
                                    M-AMT-AA (W0001-X, 11)

                            MOVE ATTR-ALPHA-UNPROT-MDT TO
                                    M-AMT-AA (W0001-X,  9)
                                    M-AMT-AA (W0001-X, 10)

                            INSPECT M-AMT-AI (W0001-X,  9)
                                REPLACING ALL ' ' BY '_'
                            INSPECT M-AMT-AI (W0001-X, 10)
                                REPLACING ALL ' ' BY '_'
                        END-IF
                   WHEN 04
                        MOVE W0001-HDG1-PD04 TO W0001-HDG
                        PERFORM A332-MOVE-HEADINGS-TO-SCREEN

                        MOVE W0001-HDG2-PD04 TO W0001-HDG
                        PERFORM A333-MOVE-HEADINGS-TO-SCREEN

                        MOVE ATTR-ALPHA-PROT-MDT   TO
                                M-AMT-AA (W0001-X,  5)
                                M-AMT-AA (W0001-X,  6)
                                M-AMT-AA (W0001-X,  9)

                        MOVE ATTR-ALPHA-UNPROT-MDT TO
                                M-AMT-AA (W0001-X,  7)
                                M-AMT-AA (W0001-X,  8)
                                M-AMT-AA (W0001-X, 10)
                                M-AMT-AA (W0001-X, 11)

                        INSPECT M-AMT-AI (W0001-X,  7)
                            REPLACING ALL ' ' BY '_'
                        INSPECT M-AMT-AI (W0001-X,  8)
                            REPLACING ALL ' ' BY '_'
                        INSPECT M-AMT-AI (W0001-X, 10)
                            REPLACING ALL ' ' BY '_'
                        INSPECT M-AMT-AI (W0001-X, 11)
                            REPLACING ALL ' ' BY '_'
                   WHEN 05
                        MOVE W0001-HDG1-PD05 TO W0001-HDG
                        PERFORM A332-MOVE-HEADINGS-TO-SCREEN

                        MOVE W0001-HDG2-PD05 TO W0001-HDG
                        PERFORM A333-MOVE-HEADINGS-TO-SCREEN

                        MOVE ATTR-ALPHA-PROT-MDT   TO
                                M-AMT-AA (W0001-X,  5)
                                M-AMT-AA (W0001-X,  6)
                                M-AMT-AA (W0001-X,  7)
                                M-AMT-AA (W0001-X,  9)

                        MOVE ATTR-ALPHA-UNPROT-MDT TO
                                M-AMT-AA (W0001-X,  8)
                                M-AMT-AA (W0001-X, 10)
                                M-AMT-AA (W0001-X, 11)

                        INSPECT M-AMT-AI (W0001-X,  8)
                            REPLACING ALL ' ' BY '_'
                        INSPECT M-AMT-AI (W0001-X, 10)
                            REPLACING ALL ' ' BY '_'
                        INSPECT M-AMT-AI (W0001-X, 11)
                            REPLACING ALL ' ' BY '_'
                   WHEN 06
                        IF  DISPLAY-NORMAL-FCSTS
                            MOVE W0001-HDG1-PD06 TO W0001-HDG
                            PERFORM A332-MOVE-HEADINGS-TO-SCREEN

                            MOVE W0001-HDG2-PD06 TO W0001-HDG
                            PERFORM A333-MOVE-HEADINGS-TO-SCREEN

                            MOVE ATTR-ALPHA-PROT-MDT   TO
                                    M-AMT-AA (W0001-X,  5)
                                    M-AMT-AA (W0001-X,  6)
                                    M-AMT-AA (W0001-X,  7)
                                    M-AMT-AA (W0001-X, 11)

                            MOVE ATTR-ALPHA-UNPROT-MDT TO
                                    M-AMT-AA (W0001-X,  8)
                                    M-AMT-AA (W0001-X,  9)
                                    M-AMT-AA (W0001-X, 10)

                            INSPECT M-AMT-AI (W0001-X,  8)
                                REPLACING ALL ' ' BY '_'
                            INSPECT M-AMT-AI (W0001-X,  9)
                                REPLACING ALL ' ' BY '_'
                            INSPECT M-AMT-AI (W0001-X, 10)
                                REPLACING ALL ' ' BY '_'
                        ELSE
                            MOVE W0001-HDG1-PD06A TO W0001-HDG
                            PERFORM A332-MOVE-HEADINGS-TO-SCREEN

                            MOVE W0001-HDG2-PD06A TO W0001-HDG
                            PERFORM A333-MOVE-HEADINGS-TO-SCREEN

                            MOVE ATTR-ALPHA-PROT-MDT   TO
                                    M-AMT-AA (W0001-X,  5)
                                    M-AMT-AA (W0001-X,  6)
                                    M-AMT-AA (W0001-X,  7)
                                    M-AMT-AA (W0001-X,  8)
                                    M-AMT-AA (W0001-X, 10)
                                    M-AMT-AA (W0001-X, 11)

                            MOVE ATTR-ALPHA-UNPROT-MDT TO
                                    M-AMT-AA (W0001-X,  9)

                            INSPECT M-AMT-AI (W0001-X,  9)
                                REPLACING ALL ' ' BY '_'

                            MOVE SPACES TO M-AMT-AI (W0001-X, 11)
                       END-IF
                   WHEN 07
                        MOVE W0001-HDG1-PD07 TO W0001-HDG
                        PERFORM A332-MOVE-HEADINGS-TO-SCREEN

                        MOVE W0001-HDG2-PD07 TO W0001-HDG
                        PERFORM A333-MOVE-HEADINGS-TO-SCREEN

                        MOVE ATTR-ALPHA-PROT-MDT   TO
                                M-AMT-AA (W0001-X,  5)
                                M-AMT-AA (W0001-X,  6)
                                M-AMT-AA (W0001-X,  7)
                                M-AMT-AA (W0001-X, 10)

                        MOVE ATTR-ALPHA-UNPROT-MDT TO
                                M-AMT-AA (W0001-X,  8)
                                M-AMT-AA (W0001-X,  9)
                                M-AMT-AA (W0001-X, 11)

                        INSPECT M-AMT-AI (W0001-X,  8)
                            REPLACING ALL ' ' BY '_'
                        INSPECT M-AMT-AI (W0001-X,  9)
                            REPLACING ALL ' ' BY '_'
                        INSPECT M-AMT-AI (W0001-X, 11)
                            REPLACING ALL ' ' BY '_'
                   WHEN 08
                        MOVE W0001-HDG1-PD08 TO W0001-HDG
                        PERFORM A332-MOVE-HEADINGS-TO-SCREEN

                        MOVE W0001-HDG2-PD08 TO W0001-HDG
                        PERFORM A333-MOVE-HEADINGS-TO-SCREEN

                        MOVE ATTR-ALPHA-PROT-MDT   TO
                                M-AMT-AA (W0001-X,  5)
                                M-AMT-AA (W0001-X,  6)
                                M-AMT-AA (W0001-X,  7)
                                M-AMT-AA (W0001-X,  8)
                                M-AMT-AA (W0001-X, 10)

                        MOVE ATTR-ALPHA-UNPROT-MDT TO
                                M-AMT-AA (W0001-X,  9)
                                M-AMT-AA (W0001-X, 11)

                        INSPECT M-AMT-AI (W0001-X,  9)
                            REPLACING ALL ' ' BY '_'
                        INSPECT M-AMT-AI (W0001-X, 11)
                            REPLACING ALL ' ' BY '_'
                   WHEN 09
                        IF  DISPLAY-NORMAL-FCSTS
                            MOVE W0001-HDG1-PD09 TO W0001-HDG
                            PERFORM A332-MOVE-HEADINGS-TO-SCREEN

                            MOVE W0001-HDG2-PD09 TO W0001-HDG
                            PERFORM A333-MOVE-HEADINGS-TO-SCREEN

                            MOVE ATTR-ALPHA-PROT-MDT   TO
                                    M-AMT-AA (W0001-X,  5)
                                    M-AMT-AA (W0001-X,  6)
                                    M-AMT-AA (W0001-X,  7)
                                    M-AMT-AA (W0001-X, 11)

                            MOVE ATTR-ALPHA-UNPROT-MDT TO
                                    M-AMT-AA (W0001-X,  8)
                                    M-AMT-AA (W0001-X,  9)
                                    M-AMT-AA (W0001-X, 10)

                            INSPECT M-AMT-AI (W0001-X,  8)
                                REPLACING ALL ' ' BY '_'
                            INSPECT M-AMT-AI (W0001-X,  9)
                                REPLACING ALL ' ' BY '_'
                            INSPECT M-AMT-AI (W0001-X, 10)
                                REPLACING ALL ' ' BY '_'
                        ELSE
                            MOVE W0001-HDG1-PD09A TO W0001-HDG
                            PERFORM A332-MOVE-HEADINGS-TO-SCREEN

                            MOVE W0001-HDG2-PD09A TO W0001-HDG
                            PERFORM A333-MOVE-HEADINGS-TO-SCREEN

                            MOVE ATTR-ALPHA-PROT-MDT   TO
                                    M-AMT-AA (W0001-X,  5)
                                    M-AMT-AA (W0001-X,  6)
                                    M-AMT-AA (W0001-X,  7)
                                    M-AMT-AA (W0001-X,  8)
                                    M-AMT-AA (W0001-X,  9)
                                    M-AMT-AA (W0001-X, 11)

                            MOVE ATTR-ALPHA-UNPROT-MDT TO
                                    M-AMT-AA (W0001-X, 10)

                            INSPECT M-AMT-AI (W0001-X, 10)
                                REPLACING ALL ' ' BY '_'

                            MOVE SPACES TO M-AMT-AI (W0001-X, 11)
                       END-IF
                   WHEN 10
                        MOVE W0001-HDG1-PD10 TO W0001-HDG
                        PERFORM A332-MOVE-HEADINGS-TO-SCREEN

                        MOVE W0001-HDG2-PD10 TO W0001-HDG
                        PERFORM A333-MOVE-HEADINGS-TO-SCREEN

                        MOVE ATTR-ALPHA-PROT-MDT   TO
                                M-AMT-AA (W0001-X,  5)
                                M-AMT-AA (W0001-X,  6)
                                M-AMT-AA (W0001-X,  7)
                                M-AMT-AA (W0001-X, 10)

                        MOVE ATTR-ALPHA-UNPROT-MDT TO
                                M-AMT-AA (W0001-X,  8)
                                M-AMT-AA (W0001-X,  9)
                                M-AMT-AA (W0001-X, 11)

                        INSPECT M-AMT-AI (W0001-X,  8)
                            REPLACING ALL ' ' BY '_'
                        INSPECT M-AMT-AI (W0001-X,  9)
                            REPLACING ALL ' ' BY '_'
                        INSPECT M-AMT-AI (W0001-X, 11)
                            REPLACING ALL ' ' BY '_'
                   WHEN 11
                        MOVE W0001-HDG1-PD11 TO W0001-HDG
                        PERFORM A332-MOVE-HEADINGS-TO-SCREEN

                        MOVE W0001-HDG2-PD11 TO W0001-HDG
                        PERFORM A333-MOVE-HEADINGS-TO-SCREEN

                        MOVE ATTR-ALPHA-PROT-MDT   TO
                                M-AMT-AA (W0001-X,  5)
                                M-AMT-AA (W0001-X,  6)
                                M-AMT-AA (W0001-X,  7)
                                M-AMT-AA (W0001-X,  8)
                                M-AMT-AA (W0001-X, 10)

                        MOVE ATTR-ALPHA-UNPROT-MDT TO
                                M-AMT-AA (W0001-X,  9)
                                M-AMT-AA (W0001-X, 11)

                        INSPECT M-AMT-AI (W0001-X,  9)
                            REPLACING ALL ' ' BY '_'
                        INSPECT M-AMT-AI (W0001-X, 11)
                            REPLACING ALL ' ' BY '_'
                   WHEN 12
                        IF  DISPLAY-NORMAL-FCSTS
                            MOVE W0001-HDG1-PD12 TO W0001-HDG
                            PERFORM A332-MOVE-HEADINGS-TO-SCREEN

                            MOVE W0001-HDG2-PD12 TO W0001-HDG
                            PERFORM A333-MOVE-HEADINGS-TO-SCREEN

                            MOVE ATTR-ALPHA-PROT-MDT   TO
                                    M-AMT-AA (W0001-X,  5)
                                    M-AMT-AA (W0001-X,  6)
                                    M-AMT-AA (W0001-X,  7)
                                    M-AMT-AA (W0001-X, 11)

                            MOVE ATTR-ALPHA-UNPROT-MDT TO
                                    M-AMT-AA (W0001-X,  8)
                                    M-AMT-AA (W0001-X,  9)
                                    M-AMT-AA (W0001-X, 10)

                            INSPECT M-AMT-AI (W0001-X,  8)
                                REPLACING ALL ' ' BY '_'
                            INSPECT M-AMT-AI (W0001-X,  9)
                                REPLACING ALL ' ' BY '_'
                            INSPECT M-AMT-AI (W0001-X, 10)
                                REPLACING ALL ' ' BY '_'
                        ELSE
                            MOVE W0001-HDG1-PD12A TO W0001-HDG
                            PERFORM A332-MOVE-HEADINGS-TO-SCREEN

                            MOVE W0001-HDG2-PD12A TO W0001-HDG
                            PERFORM A333-MOVE-HEADINGS-TO-SCREEN

                            MOVE ATTR-ALPHA-PROT-MDT   TO
                                    M-AMT-AA (W0001-X,  5)
                                    M-AMT-AA (W0001-X,  6)
                                    M-AMT-AA (W0001-X,  7)
                                    M-AMT-AA (W0001-X,  8)

                            MOVE ATTR-ALPHA-UNPROT-MDT TO
                                    M-AMT-AA (W0001-X,  9)
                                    M-AMT-AA (W0001-X, 10)
                                    M-AMT-AA (W0001-X, 11)

                            INSPECT M-AMT-AI (W0001-X,  9)
                                REPLACING ALL ' ' BY '_'
                            INSPECT M-AMT-AI (W0001-X, 10)
                                REPLACING ALL ' ' BY '_'
                            INSPECT M-AMT-AI (W0001-X, 11)
                                REPLACING ALL ' ' BY '_'
                        END-IF
               END-EVALUATE
           END-IF.

           EJECT
       A332-MOVE-HEADINGS-TO-SCREEN.

           MOVE 'A332'      TO CA-PARAGRAPH-NBR.

           MOVE W0001-HDG-01 TO M-HDG1I(01).
           MOVE W0001-HDG-02 TO M-HDG1I(02).
           MOVE W0001-HDG-03 TO M-HDG1I(03).
           MOVE W0001-HDG-04 TO M-HDG1I(04).
           MOVE W0001-HDG-05 TO M-HDG1I(05).
           MOVE W0001-HDG-06 TO M-HDG1I(06).
           MOVE W0001-HDG-07 TO M-HDG1I(07).
           MOVE W0001-HDG-08 TO M-HDG1I(08).
           MOVE W0001-HDG-09 TO M-HDG1I(09).
           MOVE W0001-HDG-10 TO M-HDG1I(10).
           MOVE W0001-HDG-11 TO M-HDG1I(11).

           EJECT
       A333-MOVE-HEADINGS-TO-SCREEN.

           MOVE 'A333'      TO CA-PARAGRAPH-NBR.

           MOVE W0001-HDG-01 TO M-HDG2I(01).
           MOVE W0001-HDG-02 TO M-HDG2I(02).
           MOVE W0001-HDG-03 TO M-HDG2I(03).
           MOVE W0001-HDG-04 TO M-HDG2I(04).
           MOVE W0001-HDG-05 TO M-HDG2I(05).
           MOVE W0001-HDG-06 TO M-HDG2I(06).
           MOVE W0001-HDG-07 TO M-HDG2I(07).
           MOVE W0001-HDG-08 TO M-HDG2I(08).
           MOVE W0001-HDG-09 TO M-HDG2I(09).
           MOVE W0001-HDG-10 TO M-HDG2I(10).
           MOVE W0001-HDG-11 TO M-HDG2I(11).

           EJECT
       B000-PROCESS-ENTER-KEY.

           MOVE 'B000'      TO CA-PARAGRAPH-NBR.

           PERFORM B100-VALIDATE-KEYS.

           IF  NO-ERRORS
               IF  CA-UPDATE
                   PERFORM D000-UPDATE-FORECASTS
                   IF  NO-ERRORS
                       MOVE WS-M-MIN-VALUES   TO WS-M-MAX-VALUES
                       ADD +1                 TO WS-M-MAX-FCSID-N
                       MOVE DFHPF10           TO EIBAID
                       PERFORM B001-PROCESS-PF10-KEY
                       IF  W0001-LINES-UPDATED
                           MOVE W9999-MSG-023 TO M-MSG-24I
                       END-IF
                       MOVE -1                TO M-DPT-CL
                   END-IF
               ELSE
                   PERFORM B001-PROCESS-PF10-KEY
               END-IF
           END-IF.

           EJECT
       B001-PROCESS-PF10-KEY.

           MOVE 'B001'      TO CA-PARAGRAPH-NBR.

           PERFORM B002-GET-AUDIT-INFO.

           IF  NO-ERRORS
               PERFORM B300-GET-TFPRJHDR
               IF  W0001-IX > 1 AND <= W0001-SCREEN-LINE-LIMIT
                   PERFORM UNTIL W0001-IX > W0001-SCREEN-LINE-LIMIT
                       PERFORM B400-MOVE-BLANKS-TO-SCREEN
                       ADD +1 TO W0001-IX
                   END-PERFORM
               ELSE
                   IF  W0001-IX = 1 AND EIBAID = DFHENTER
                       PERFORM VARYING W0001-IX FROM 1 BY 1
                         UNTIL W0001-IX > W0001-SCREEN-LINE-LIMIT
                           PERFORM B400-MOVE-BLANKS-TO-SCREEN
                       END-PERFORM
                   END-IF
               END-IF
           ELSE
               PERFORM VARYING W0001-IX FROM 1 BY 1
                 UNTIL W0001-IX > W0001-SCREEN-LINE-LIMIT
                   PERFORM B400-MOVE-BLANKS-TO-SCREEN
               END-PERFORM
           END-IF.

           IF  NO-ERRORS
               MOVE -1            TO M-DPT-CL
               MOVE W9999-MSG-049 TO M-MSG-24I
           END-IF.

           EJECT
       B002-GET-AUDIT-INFO.

           MOVE 'B002'      TO CA-PARAGRAPH-NBR.

           MOVE M-DPT-CI        TO W0001-K1-F-DPT-C.
           MOVE M-SUBDPT-CI     TO W0001-K1-F-SUBDPT-C.
           MOVE SPACES          TO W0001-K1-F-EXPTYP-C.
           MOVE SPACES          TO W0001-K1-F-SUBTYP-C.

           MOVE M-DPT-CI        TO W0001-K2-F-DPT-C.
           MOVE 'ALL'           TO W0001-K2-F-SUBDPT-C.
           MOVE SPACES          TO W0001-K2-F-EXPTYP-C.
           MOVE SPACES          TO W0001-K2-F-SUBTYP-C.

           IF  M-EXPTYP-CI  > SPACES
               MOVE M-DPT-CI    TO W0001-K3-F-DPT-C
               MOVE M-SUBDPT-CI TO W0001-K3-F-SUBDPT-C
               MOVE M-EXPTYP-CI TO W0001-K3-F-EXPTYP-C
               MOVE SPACES      TO W0001-K3-F-SUBTYP-C

               MOVE M-DPT-CI    TO W0001-K4-F-DPT-C
               MOVE 'ALL'       TO W0001-K4-F-SUBDPT-C
               MOVE M-EXPTYP-CI TO W0001-K4-F-EXPTYP-C
               MOVE SPACES      TO W0001-K4-F-SUBTYP-C
           ELSE
               MOVE SPACES      TO W0001-K3-F-DPT-C
               MOVE SPACES      TO W0001-K3-F-SUBDPT-C
               MOVE SPACES      TO W0001-K3-F-EXPTYP-C
               MOVE SPACES      TO W0001-K3-F-SUBTYP-C

               MOVE SPACES      TO W0001-K4-F-DPT-C
               MOVE SPACES      TO W0001-K4-F-SUBDPT-C
               MOVE SPACES      TO W0001-K4-F-EXPTYP-C
               MOVE SPACES      TO W0001-K4-F-SUBTYP-C
           END-IF.

           IF  M-EXPSUBTYP-CI  > SPACES
               MOVE M-DPT-CI       TO W0001-K5-F-DPT-C
               MOVE M-SUBDPT-CI    TO W0001-K5-F-SUBDPT-C
               MOVE M-EXPTYP-CI    TO W0001-K5-F-EXPTYP-C
               MOVE M-EXPSUBTYP-CI TO W0001-K5-F-SUBTYP-C

               MOVE M-DPT-CI       TO W0001-K6-F-DPT-C
               MOVE 'ALL'          TO W0001-K6-F-SUBDPT-C
               MOVE M-EXPTYP-CI    TO W0001-K6-F-EXPTYP-C
               MOVE M-EXPSUBTYP-CI TO W0001-K6-F-SUBTYP-C
           ELSE
               MOVE SPACES         TO W0001-K5-F-DPT-C
               MOVE SPACES         TO W0001-K5-F-SUBDPT-C
               MOVE SPACES         TO W0001-K5-F-EXPTYP-C
               MOVE SPACES         TO W0001-K5-F-SUBTYP-C

               MOVE SPACES         TO W0001-K6-F-DPT-C
               MOVE SPACES         TO W0001-K6-F-SUBDPT-C
               MOVE SPACES         TO W0001-K6-F-EXPTYP-C
               MOVE SPACES         TO W0001-K6-F-SUBTYP-C
           END-IF.

           MOVE CA-OP-RGN       TO F-MKTCRGN-C   IN DCLTFPRODLN.

           EXEC SQL
                OPEN CSR_3
           END-EXEC.

           SET OPEN-O-CLOSE-CURSOR TO TRUE.
           PERFORM Z900-DB2-CHECK.

           EXEC SQL
             FETCH CSR_3
              INTO :DCLTFAUDIT.A-UID-C
                 , :DCLTFAUDIT.DB-UPD-D
                 , :DCLTFAUDIT.DB-UPD-T
                 , :DCLTFSECACS.A-EMPNM-X
           END-EXEC.

           PERFORM Z900-DB2-CHECK.

           IF  DB2-NORMAL
               MOVE DB-UPD-D  IN DCLTFAUDIT (1:6)
                 TO M-LASTUPD-DI (1:6)
               MOVE DB-UPD-D  IN DCLTFAUDIT (9:2)
                 TO M-LASTUPD-DI (7:2)
               MOVE A-UID-C   IN DCLTFAUDIT (1:7)
                 TO M-LASTUPD-XI (1:7)
               MOVE '- '
                 TO M-LASTUPD-XI (8:2)
               MOVE A-EMPNM-X IN DCLTFSECACS
                 TO M-LASTUPD-XI (10:20)
           ELSE
               MOVE SPACES  TO M-LASTUPD-DI
               MOVE SPACES  TO M-LASTUPD-XI
           END-IF.

           EXEC SQL
                CLOSE CSR_3
           END-EXEC.

           SET OPEN-O-CLOSE-CURSOR TO TRUE.
           PERFORM Z900-DB2-CHECK.

           EJECT
       B100-VALIDATE-KEYS.

           MOVE 'B100'      TO CA-PARAGRAPH-NBR.

           IF  M-DPT-CI > SPACES
               PERFORM B110-VALIDATE-PRODUCT-LINE
           ELSE
               SET ERRORS TO TRUE
               MOVE -1             TO M-DPT-CL
               MOVE W9999-MSG-017  TO M-MSG-24I
           END-IF.

           IF  NO-ERRORS
               IF  M-EXPTYP-CI > SPACES
                   PERFORM B120-VALIDATE-EXPENSE-TYPE
               ELSE
                   MOVE SPACES   TO M-EXPTYP-XI
               END-IF
           END-IF.

           IF  NO-ERRORS
               IF  M-DPT-CI        = WS-M-DPT-CI
               AND M-SUBDPT-CI     = WS-M-SUBDPT-CI
               AND M-EXPTYP-CI     = WS-M-EXPTYP-CI
               AND M-EXPSUBTYP-CI  = WS-M-EXPSUBTYP-CI
                   SET CA-UPDATE     TO TRUE
               ELSE
                   SET CA-INQUIRY    TO TRUE
               END-IF
           ELSE
               SET CA-INQUIRY    TO TRUE
               PERFORM VARYING W0001-IX FROM 1 BY 1
                 UNTIL W0001-IX > W0001-SCREEN-LINE-LIMIT
                   PERFORM B400-MOVE-BLANKS-TO-SCREEN
               END-PERFORM
           END-IF.

           EJECT
       B110-VALIDATE-PRODUCT-LINE.

           MOVE 'B110'      TO CA-PARAGRAPH-NBR.

           MOVE M-DPT-CI         TO F-DPT-C       IN DCLTFPRJHDR.
           MOVE M-SUBDPT-CI      TO F-SUBDPT-C    IN DCLTFPRJHDR.
           MOVE CA-OP-RGN        TO F-MKTCRGN-C   IN DCLTFPRJHDR.

           IF  M-SUBDPT-CI EQUAL 'ALL'
               MOVE SPACES       TO F-SUBDPT-C    IN DCLTFPRODLN
           ELSE
               MOVE M-SUBDPT-CI  TO F-SUBDPT-C    IN DCLTFPRODLN
           END-IF.

           EXEC SQL
                SELECT F_DPT_X
                  INTO :DCLTFPRODLN.F-DPT-X
                  FROM D108.TFPRODLN
                 WHERE F_MKTCRGN_C = :DCLTFPRJHDR.F-MKTCRGN-C
                   AND F_DPT_C     = :DCLTFPRJHDR.F-DPT-C
                   AND F_SUBDPT_C  = :DCLTFPRODLN.F-SUBDPT-C
           END-EXEC.

           PERFORM  Z900-DB2-CHECK.

           IF  DB2-NORMAL
               MOVE F-DPT-X     IN DCLTFPRODLN TO M-DPT-XI
               IF  M-SUBDPT-CI EQUAL 'ALL'
                   MOVE 'ALL '         TO M-DPT-XI (1:4)
                   MOVE M-DPT-CI       TO M-DPT-XI (5:4)
                   MOVE ' SUB DEPTS'   TO M-DPT-XI (9:10)
               END-IF
           ELSE
               SET ERRORS TO TRUE
               MOVE -1             TO M-DPT-CL
               MOVE W9999-MSG-011  TO M-MSG-24I
               INITIALIZE WS-M-KEY
           END-IF.

           EJECT
       B120-VALIDATE-EXPENSE-TYPE.

           MOVE 'B120'      TO CA-PARAGRAPH-NBR.

           MOVE M-EXPTYP-CI    TO F-EXPTYP-C    IN DCLTFPRJHDR.
           MOVE M-EXPSUBTYP-CI TO F-EXPSUBTYP-C IN DCLTFPRJHDR.

           EXEC SQL
                SELECT F_EXPTYP_X
                  INTO :DCLTFEXPTYP.F-EXPTYP-X
                  FROM D108.TFEXPTYP
                 WHERE F_EXPTYP_C    = :DCLTFPRJHDR.F-EXPTYP-C
                   AND F_EXPSUBTYP_C = :DCLTFPRJHDR.F-EXPSUBTYP-C
           END-EXEC.

           PERFORM  Z900-DB2-CHECK.

           IF  DB2-NORMAL
               MOVE F-EXPTYP-X IN DCLTFEXPTYP TO M-EXPTYP-XI
           ELSE
               EVALUATE TRUE
                   WHEN M-EXPTYP-CI    = 'AM'
                    AND M-EXPSUBTYP-CI = '   '
                        MOVE 'ALL "AM" EXP TYPES'
                          TO M-EXPTYP-XI
                   WHEN M-EXPTYP-CI    = 'PR'
                    AND M-EXPSUBTYP-CI = '   '
                        MOVE 'ALL "PR" EXP TYPES'
                          TO M-EXPTYP-XI
                   WHEN M-EXPTYP-CI    = 'TL'
                    AND M-EXPSUBTYP-CI = '   '
                        MOVE 'ALL "TL" EXP TYPES'
                          TO M-EXPTYP-XI
                   WHEN M-EXPTYP-CI    = 'XX'
                    AND M-EXPSUBTYP-CI = '   '
                        MOVE 'ALL "XX" EXP TYPES'
                          TO M-EXPTYP-XI
                   WHEN OTHER
                        MOVE SPACES
                          TO M-EXPTYP-XI
                        SET ERRORS TO TRUE
                        MOVE -1             TO M-EXPTYP-CL
                        MOVE W9999-MSG-013  TO M-MSG-24I
                        INITIALIZE WS-M-KEY
               END-EVALUATE
           END-IF.

           EJECT
       B130-CREATE-AUDIT-TRAIL.

           MOVE 'B130'      TO CA-PARAGRAPH-NBR.

           MOVE 'TFFCSHDR'  TO DB-TBLNAME-X      OF DCLTFAUDIT.
           MOVE CA-OP-ID    TO A-UID-C           OF DCLTFAUDIT.
           MOVE 'U'         TO DB-ACTN-C         OF DCLTFAUDIT.
           MOVE 'G'         TO DB-DATAIMG-C      OF DCLTFAUDIT.
           MOVE WS-M-KEY
             TO DB-DATAIMG-X-TEXT OF DCLTFAUDIT.
           MOVE LENGTH OF WS-M-KEY
             TO DB-DATAIMG-X-LEN  OF DCLTFAUDIT.

           PERFORM B131-INSERT-TFAUDIT.

           EJECT
       B131-INSERT-TFAUDIT.

           MOVE 'B131'      TO CA-PARAGRAPH-NBR.

           EXEC SQL
               INSERT INTO D108.TFAUDIT
                   (
                      DB_TBLNAME_X
                    , DB_ACTN_C
                    , A_UID_C
                    , DB_UPD_D
                    , DB_UPD_T
                    , DB_DATAIMG_C
                    , DB_DATAIMG_X
                   )
               VALUES
                   (
                      :DCLTFAUDIT.DB-TBLNAME-X
                    , :DCLTFAUDIT.DB-ACTN-C
                    , :DCLTFAUDIT.A-UID-C
                    , CURRENT DATE
                    , CURRENT TIME
                    , :DCLTFAUDIT.DB-DATAIMG-C
                    , :DCLTFAUDIT.DB-DATAIMG-X
                   )
           END-EXEC.

           SET NORMAL-RC-ONLY TO TRUE.
           PERFORM Z900-DB2-CHECK.

           EJECT
       B300-GET-TFPRJHDR.

           MOVE 'B300'      TO CA-PARAGRAPH-NBR.

           MOVE CA-OP-RGN       TO F-MKTCRGN-C   IN DCLTFPRODLN.
           MOVE M-DPT-CI        TO F-DPT-C       IN DCLTFPRJHDR.
           MOVE M-SUBDPT-CI     TO F-SUBDPT-C    IN DCLTFPRJHDR.
           MOVE M-EXPTYP-CI     TO F-EXPTYP-C    IN DCLTFPRJHDR.
           MOVE M-EXPSUBTYP-CI  TO F-EXPSUBTYP-C IN DCLTFPRJHDR.

           IF  EIBAID = DFHPF10
               MOVE WS-M-MAX-EXPTYP-C  TO F-EXPTYP-C    IN DCLTFFCSHDR
               MOVE WS-M-MAX-SUBTYP-C  TO F-EXPSUBTYP-C IN DCLTFFCSHDR
               MOVE WS-M-MAX-FCSID-N   TO F-FCSID-N     IN DCLTFFCSHDR
           ELSE
               MOVE SPACES             TO F-EXPTYP-C    IN DCLTFFCSHDR
               MOVE SPACES             TO F-EXPSUBTYP-C IN DCLTFFCSHDR
               MOVE +99999             TO F-FCSID-N     IN DCLTFFCSHDR
           END-IF.

           EXEC SQL
                OPEN CSR_1
           END-EXEC.

           SET OPEN-O-CLOSE-CURSOR TO TRUE.
           PERFORM Z900-DB2-CHECK.

           MOVE +1 TO W0001-IX.

           PERFORM UNTIL SQLCODE NOT EQUAL ZERO
                      OR W0001-IX > W0001-SCREEN-LINE-LIMIT
               EXEC SQL
                 FETCH CSR_1
                  INTO :W0001-ORDER-BY
                     , :DCLTFFCSHDR.F-EXPTYP-C
                     , :DCLTFFCSHDR.F-EXPSUBTYP-C
                     , :DCLTFPRJHDR.F-DPT-C
                     , :DCLTFFCSHDR.F-SUBDPT-C
                     , :DCLTFFCSHDR.F-FCSID-N
                     , :DCLTFPRJHDR.F-PRJ-X
                     , :W0004-F-FCSP00-A
                     , :W0004-F-FCSP01-A
                     , :W0004-F-FCSP02-A
                     , :W0004-F-FCSP03-A
                     , :W0004-F-FCSP04-A
                     , :W0004-F-FCSP05-A
                     , :W0004-F-FCSQ02-A
                     , :W0004-F-FCSQ03-A
                     , :W0004-F-FCSQ04-A
                     , :W0004-F-FCSQ05-A
               END-EXEC

               PERFORM Z900-DB2-CHECK

               IF  DB2-NORMAL
                   MOVE M-DPT-CI          TO WS-M-DPT-CI
                                             CA-CURR-PROD-LN
                   MOVE M-SUBDPT-CI       TO WS-M-SUBDPT-CI
                                             CA-CURR-SUBPROD-LN
                   MOVE M-EXPTYP-CI       TO WS-M-EXPTYP-CI
                                             CA-CURR-EXPTYP-C
                   MOVE M-EXPSUBTYP-CI    TO WS-M-EXPSUBTYP-CI
                                             CA-CURR-EXPSUBTYP-C

                   MOVE W0004-F-FCSP00-A  TO F-FCSP00-A  IN DCLTFFCSHDR
                   MOVE W0004-F-FCSP01-A  TO F-FCSP01-A  IN DCLTFFCSHDR
                   MOVE W0004-F-FCSP02-A  TO F-FCSP02-A  IN DCLTFFCSHDR
                   MOVE W0004-F-FCSP03-A  TO F-FCSP03-A  IN DCLTFFCSHDR
                   MOVE W0004-F-FCSP04-A  TO F-FCSP04-A  IN DCLTFFCSHDR
                   MOVE W0004-F-FCSP05-A  TO F-FCSP05-A  IN DCLTFFCSHDR
                   MOVE W0004-F-FCSQ02-A  TO F-FCSQ02-A  IN DCLTFFCSHDR
                   MOVE W0004-F-FCSQ03-A  TO F-FCSQ03-A  IN DCLTFFCSHDR
                   MOVE W0004-F-FCSQ04-A  TO F-FCSQ04-A  IN DCLTFFCSHDR
                   MOVE W0004-F-FCSQ05-A  TO F-FCSQ05-A  IN DCLTFFCSHDR

                   IF  W0001-IX = 1
                       MOVE F-FCSID-N  IN DCLTFFCSHDR
                         TO WS-M-MIN-FCSID-N
                       MOVE F-EXPTYP-C IN DCLTFFCSHDR
                         TO WS-M-MIN-EXPTYP-C
                       MOVE F-EXPSUBTYP-C IN DCLTFFCSHDR
                         TO WS-M-MIN-SUBTYP-C
                   END-IF

                   IF  F-FCSID-N IN DCLTFFCSHDR < 0
                       PERFORM B310-GET-TFPRJHDR-TOTALS
                       PERFORM B320-GET-TFFCSHST-TOTALS
                   ELSE
                       PERFORM B330-GET-TFPRJHDR-INFO
                       PERFORM B340-GET-TFFCSHST-INFO
                   END-IF

                   PERFORM B350-MOVE-DB-TO-MAP-SAVE

                   PERFORM B360-BUILD-PROJECT-DESC

                   PERFORM B370-CALCULATE-FCST-AMT

                   PERFORM B380-MOVE-FIELDS-TO-SCREEN

                   ADD +1 TO W0001-IX
               END-IF

           END-PERFORM.

           IF  DB2-END-OF-FILE
               MOVE W9999-MSG-004              TO M-MSG-24I
               MOVE -1                         TO M-DPT-CL
               IF  EIBAID = DFHPF10
               OR  EIBAID = DFHENTER
                   SET ERRORS TO TRUE
               END-IF
           END-IF.

           MOVE F-FCSID-N     IN DCLTFFCSHDR TO WS-M-MAX-FCSID-N.
           MOVE F-EXPTYP-C    IN DCLTFFCSHDR TO WS-M-MAX-EXPTYP-C.
           MOVE F-EXPSUBTYP-C IN DCLTFFCSHDR TO WS-M-MAX-SUBTYP-C.

           EXEC SQL
                CLOSE CSR_1
           END-EXEC.

           SET OPEN-O-CLOSE-CURSOR TO TRUE.
           PERFORM Z900-DB2-CHECK.

           EJECT
       B310-GET-TFPRJHDR-TOTALS.

           MOVE 'B310'      TO CA-PARAGRAPH-NBR.

           IF  M-SUBDPT-CI NOT EQUAL 'ALL'
               EVALUATE TRUE
                   WHEN F-FCSID-N IN DCLTFFCSHDR = -66666
                        PERFORM B311-GET-TFPRJHDR-TOTALS
                   WHEN F-FCSID-N IN DCLTFFCSHDR = -77777
                        PERFORM B312-GET-TFPRJHDR-TOTALS
                   WHEN F-FCSID-N IN DCLTFFCSHDR = -88888
                        PERFORM B313-GET-TFPRJHDR-TOTALS
                   WHEN F-FCSID-N IN DCLTFFCSHDR = -99999
                        PERFORM B314-GET-TFPRJHDR-TOTALS
               END-EVALUATE
           ELSE
               EVALUATE TRUE
                   WHEN F-FCSID-N IN DCLTFFCSHDR = -66666
                        PERFORM B315-GET-TFPRJHDR-TOTALS
                   WHEN F-FCSID-N IN DCLTFFCSHDR = -77777
                        PERFORM B316-GET-TFPRJHDR-TOTALS
                   WHEN F-FCSID-N IN DCLTFFCSHDR = -88888
                        PERFORM B317-GET-TFPRJHDR-TOTALS
                   WHEN F-FCSID-N IN DCLTFFCSHDR = -99999
                        PERFORM B318-GET-TFPRJHDR-TOTALS
               END-EVALUATE
           END-IF.

           EJECT
       B311-GET-TFPRJHDR-TOTALS.

           MOVE 'B311'      TO CA-PARAGRAPH-NBR.

           EXEC SQL
                SELECT 'TOTAL'
                     , SUM(P_TOT_A)
                     , SUM(P_ACT_A)
                     , SUM(P_ACTQ01_A)
                     , SUM(P_ACTH01_A)
                     , SUM(P_ACTP01_A)
                     , SUM(P_ACTP02_A)
                     , SUM(P_ACTP03_A)
                  INTO :DCLTFPRJHDR.F-PRJ-N:W0001-IND-VAR
                     , :W0002-P-TOT-A:W0001-IND-VAR
                     , :W0002-P-ACT-A:W0001-IND-VAR
                     , :W0002-P-ACTQ01-A:W0001-IND-VAR
                     , :W0002-P-ACTH01-A:W0001-IND-VAR
                     , :W0002-P-ACTP01-A:W0001-IND-VAR
                     , :W0002-P-ACTP02-A:W0001-IND-VAR
                     , :W0002-P-ACTP03-A:W0001-IND-VAR
                  FROM D108.TFPRJHDR
                 WHERE F_MKTCRGN_C   = :DCLTFPRODLN.F-MKTCRGN-C
                   AND F_DPT_C       = :DCLTFPRJHDR.F-DPT-C
                   AND F_SUBDPT_C    = :DCLTFPRJHDR.F-SUBDPT-C
                   AND F_EXPTYP_C    = :DCLTFFCSHDR.F-EXPTYP-C
                   AND F_EXPSUBTYP_C = :DCLTFFCSHDR.F-EXPSUBTYP-C
           END-EXEC.

           PERFORM  Z900-DB2-CHECK.

           IF  W0001-IND-VAR IS NOT NEGATIVE
               PERFORM B319-ROUND-TFPRJHDR-VALUES
           ELSE
               SET DB2-NORMAL TO TRUE
               MOVE ZEROES TO SQLCODE
               MOVE SPACES TO F-PRJ-N    IN DCLTFPRJHDR
               MOVE ZEROES TO P-TOT-A    IN DCLTFPRJHDR
                              P-ACT-A    IN DCLTFPRJHDR
                              P-ACTQ01-A IN DCLTFPRJHDR
                              P-ACTH01-A IN DCLTFPRJHDR
                              P-ACTP01-A IN DCLTFPRJHDR
                              P-ACTP02-A IN DCLTFPRJHDR
                              P-ACTP03-A IN DCLTFPRJHDR
                              W0002-P-ACTQ01-A
                              W0002-P-ACTH01-A
                              W0002-P-ACTP01-A
                              W0002-P-ACTP02-A
                              W0002-P-ACTP03-A
           END-IF.

           EJECT
       B312-GET-TFPRJHDR-TOTALS.

           MOVE 'B312'      TO CA-PARAGRAPH-NBR.

           EXEC SQL
                SELECT 'TOTAL'
                     , SUM(P_TOT_A)
                     , SUM(P_ACT_A)
                     , SUM(P_ACTQ01_A)
                     , SUM(P_ACTH01_A)
                     , SUM(P_ACTP01_A)
                     , SUM(P_ACTP02_A)
                     , SUM(P_ACTP03_A)
                  INTO :DCLTFPRJHDR.F-PRJ-N:W0001-IND-VAR
                     , :W0002-P-TOT-A:W0001-IND-VAR
                     , :W0002-P-ACT-A:W0001-IND-VAR
                     , :W0002-P-ACTQ01-A:W0001-IND-VAR
                     , :W0002-P-ACTH01-A:W0001-IND-VAR
                     , :W0002-P-ACTP01-A:W0001-IND-VAR
                     , :W0002-P-ACTP02-A:W0001-IND-VAR
                     , :W0002-P-ACTP03-A:W0001-IND-VAR
                  FROM D108.TFPRJHDR
                 WHERE F_MKTCRGN_C   = :DCLTFPRODLN.F-MKTCRGN-C
                   AND F_DPT_C       = :DCLTFPRJHDR.F-DPT-C
                   AND F_SUBDPT_C    = :DCLTFPRJHDR.F-SUBDPT-C
                   AND F_EXPTYP_C    = :DCLTFFCSHDR.F-EXPTYP-C
           END-EXEC.

           PERFORM  Z900-DB2-CHECK.

           IF  W0001-IND-VAR IS NOT NEGATIVE
               PERFORM B319-ROUND-TFPRJHDR-VALUES
           ELSE
               SET DB2-NORMAL TO TRUE
               MOVE ZEROES TO SQLCODE
               MOVE SPACES TO F-PRJ-N    IN DCLTFPRJHDR
               MOVE ZEROES TO P-TOT-A    IN DCLTFPRJHDR
                              P-ACT-A    IN DCLTFPRJHDR
                              P-ACTQ01-A IN DCLTFPRJHDR
                              P-ACTH01-A IN DCLTFPRJHDR
                              P-ACTP01-A IN DCLTFPRJHDR
                              P-ACTP02-A IN DCLTFPRJHDR
                              P-ACTP03-A IN DCLTFPRJHDR
                              W0002-P-ACTQ01-A
                              W0002-P-ACTH01-A
                              W0002-P-ACTP01-A
                              W0002-P-ACTP02-A
                              W0002-P-ACTP03-A
           END-IF.

           EJECT
       B313-GET-TFPRJHDR-TOTALS.

           MOVE 'B313'      TO CA-PARAGRAPH-NBR.

           EXEC SQL
                SELECT 'TOTAL'
                     , SUM(P_TOT_A)
                     , SUM(P_ACT_A)
                     , SUM(P_ACTQ01_A)
                     , SUM(P_ACTH01_A)
                     , SUM(P_ACTP01_A)
                     , SUM(P_ACTP02_A)
                     , SUM(P_ACTP03_A)
                  INTO :DCLTFPRJHDR.F-PRJ-N:W0001-IND-VAR
                     , :W0002-P-TOT-A:W0001-IND-VAR
                     , :W0002-P-ACT-A:W0001-IND-VAR
                     , :W0002-P-ACTQ01-A:W0001-IND-VAR
                     , :W0002-P-ACTH01-A:W0001-IND-VAR
                     , :W0002-P-ACTP01-A:W0001-IND-VAR
                     , :W0002-P-ACTP02-A:W0001-IND-VAR
                     , :W0002-P-ACTP03-A:W0001-IND-VAR
                  FROM D108.TFPRJHDR
                 WHERE F_MKTCRGN_C   = :DCLTFPRODLN.F-MKTCRGN-C
                   AND F_DPT_C       = :DCLTFPRJHDR.F-DPT-C
                   AND F_SUBDPT_C    = :DCLTFPRJHDR.F-SUBDPT-C
           END-EXEC.

           PERFORM  Z900-DB2-CHECK.

           IF  W0001-IND-VAR IS NOT NEGATIVE
               PERFORM B319-ROUND-TFPRJHDR-VALUES
           ELSE
               SET DB2-NORMAL TO TRUE
               MOVE ZEROES TO SQLCODE
               MOVE SPACES TO F-PRJ-N    IN DCLTFPRJHDR
               MOVE ZEROES TO P-TOT-A    IN DCLTFPRJHDR
                              P-ACT-A    IN DCLTFPRJHDR
                              P-ACTQ01-A IN DCLTFPRJHDR
                              P-ACTH01-A IN DCLTFPRJHDR
                              P-ACTP01-A IN DCLTFPRJHDR
                              P-ACTP02-A IN DCLTFPRJHDR
                              P-ACTP03-A IN DCLTFPRJHDR
                              W0002-P-ACTQ01-A
                              W0002-P-ACTH01-A
                              W0002-P-ACTP01-A
                              W0002-P-ACTP02-A
                              W0002-P-ACTP03-A
           END-IF.

           EJECT
       B314-GET-TFPRJHDR-TOTALS.

           MOVE 'B314'      TO CA-PARAGRAPH-NBR.

           EXEC SQL
                SELECT 'TOTAL'
                     , SUM(P_TOT_A)
                     , SUM(P_ACT_A)
                     , SUM(P_ACTQ01_A)
                     , SUM(P_ACTH01_A)
                     , SUM(P_ACTP01_A)
                     , SUM(P_ACTP02_A)
                     , SUM(P_ACTP03_A)
                  INTO :DCLTFPRJHDR.F-PRJ-N:W0001-IND-VAR
                     , :W0002-P-TOT-A:W0001-IND-VAR
                     , :W0002-P-ACT-A:W0001-IND-VAR
                     , :W0002-P-ACTQ01-A:W0001-IND-VAR
                     , :W0002-P-ACTH01-A:W0001-IND-VAR
                     , :W0002-P-ACTP01-A:W0001-IND-VAR
                     , :W0002-P-ACTP02-A:W0001-IND-VAR
                     , :W0002-P-ACTP03-A:W0001-IND-VAR
                  FROM D108.TFPRJHDR
                 WHERE F_MKTCRGN_C   = :DCLTFPRODLN.F-MKTCRGN-C
                   AND F_DPT_C       = :DCLTFPRJHDR.F-DPT-C
           END-EXEC.

           PERFORM  Z900-DB2-CHECK.

           IF  W0001-IND-VAR IS NOT NEGATIVE
               PERFORM B319-ROUND-TFPRJHDR-VALUES
           ELSE
               SET DB2-NORMAL TO TRUE
               MOVE ZEROES TO SQLCODE
               MOVE SPACES TO F-PRJ-N    IN DCLTFPRJHDR
               MOVE ZEROES TO P-TOT-A    IN DCLTFPRJHDR
                              P-ACT-A    IN DCLTFPRJHDR
                              P-ACTQ01-A IN DCLTFPRJHDR
                              P-ACTH01-A IN DCLTFPRJHDR
                              P-ACTP01-A IN DCLTFPRJHDR
                              P-ACTP02-A IN DCLTFPRJHDR
                              P-ACTP03-A IN DCLTFPRJHDR
                              W0002-P-ACTQ01-A
                              W0002-P-ACTH01-A
                              W0002-P-ACTP01-A
                              W0002-P-ACTP02-A
                              W0002-P-ACTP03-A
           END-IF.

           EJECT
       B315-GET-TFPRJHDR-TOTALS.

           MOVE 'B315'      TO CA-PARAGRAPH-NBR.

           EXEC SQL
                SELECT 'TOTAL'
                     , SUM(P_TOT_A)
                     , SUM(P_ACT_A)
                     , SUM(P_ACTQ01_A)
                     , SUM(P_ACTH01_A)
                     , SUM(P_ACTP01_A)
                     , SUM(P_ACTP02_A)
                     , SUM(P_ACTP03_A)
                  INTO :DCLTFPRJHDR.F-PRJ-N:W0001-IND-VAR
                     , :W0002-P-TOT-A:W0001-IND-VAR
                     , :W0002-P-ACT-A:W0001-IND-VAR
                     , :W0002-P-ACTQ01-A:W0001-IND-VAR
                     , :W0002-P-ACTH01-A:W0001-IND-VAR
                     , :W0002-P-ACTP01-A:W0001-IND-VAR
                     , :W0002-P-ACTP02-A:W0001-IND-VAR
                     , :W0002-P-ACTP03-A:W0001-IND-VAR
                  FROM D108.TFPRJHDR
                 WHERE F_MKTCRGN_C   = :DCLTFPRODLN.F-MKTCRGN-C
                   AND F_DPT_C       = :DCLTFPRJHDR.F-DPT-C
                   AND F_EXPTYP_C    = :DCLTFFCSHDR.F-EXPTYP-C
                   AND F_EXPSUBTYP_C = :DCLTFFCSHDR.F-EXPSUBTYP-C
           END-EXEC.

           PERFORM  Z900-DB2-CHECK.

           IF  W0001-IND-VAR IS NOT NEGATIVE
               PERFORM B319-ROUND-TFPRJHDR-VALUES
           ELSE
               SET DB2-NORMAL TO TRUE
               MOVE ZEROES TO SQLCODE
               MOVE SPACES TO F-PRJ-N    IN DCLTFPRJHDR
               MOVE ZEROES TO P-TOT-A    IN DCLTFPRJHDR
                              P-ACT-A    IN DCLTFPRJHDR
                              P-ACTQ01-A IN DCLTFPRJHDR
                              P-ACTH01-A IN DCLTFPRJHDR
                              P-ACTP01-A IN DCLTFPRJHDR
                              P-ACTP02-A IN DCLTFPRJHDR
                              P-ACTP03-A IN DCLTFPRJHDR
                              W0002-P-ACTQ01-A
                              W0002-P-ACTH01-A
                              W0002-P-ACTP01-A
                              W0002-P-ACTP02-A
                              W0002-P-ACTP03-A
           END-IF.

           EJECT
       B316-GET-TFPRJHDR-TOTALS.

           MOVE 'B316'      TO CA-PARAGRAPH-NBR.

           EXEC SQL
                SELECT 'TOTAL'
                     , SUM(P_TOT_A)
                     , SUM(P_ACT_A)
                     , SUM(P_ACTQ01_A)
                     , SUM(P_ACTH01_A)
                     , SUM(P_ACTP01_A)
                     , SUM(P_ACTP02_A)
                     , SUM(P_ACTP03_A)
                  INTO :DCLTFPRJHDR.F-PRJ-N:W0001-IND-VAR
                     , :W0002-P-TOT-A:W0001-IND-VAR
                     , :W0002-P-ACT-A:W0001-IND-VAR
                     , :W0002-P-ACTQ01-A:W0001-IND-VAR
                     , :W0002-P-ACTH01-A:W0001-IND-VAR
                     , :W0002-P-ACTP01-A:W0001-IND-VAR
                     , :W0002-P-ACTP02-A:W0001-IND-VAR
                     , :W0002-P-ACTP03-A:W0001-IND-VAR
                  FROM D108.TFPRJHDR
                 WHERE F_MKTCRGN_C   = :DCLTFPRODLN.F-MKTCRGN-C
                   AND F_DPT_C       = :DCLTFPRJHDR.F-DPT-C
                   AND F_EXPTYP_C    = :DCLTFFCSHDR.F-EXPTYP-C
           END-EXEC.

           PERFORM  Z900-DB2-CHECK.

           IF  W0001-IND-VAR IS NOT NEGATIVE
               PERFORM B319-ROUND-TFPRJHDR-VALUES
           ELSE
               SET DB2-NORMAL TO TRUE
               MOVE ZEROES TO SQLCODE
               MOVE SPACES TO F-PRJ-N    IN DCLTFPRJHDR
               MOVE ZEROES TO P-TOT-A    IN DCLTFPRJHDR
                              P-ACT-A    IN DCLTFPRJHDR
                              P-ACTQ01-A IN DCLTFPRJHDR
                              P-ACTH01-A IN DCLTFPRJHDR
                              P-ACTP01-A IN DCLTFPRJHDR
                              P-ACTP02-A IN DCLTFPRJHDR
                              P-ACTP03-A IN DCLTFPRJHDR
                              W0002-P-ACTQ01-A
                              W0002-P-ACTH01-A
                              W0002-P-ACTP01-A
                              W0002-P-ACTP02-A
                              W0002-P-ACTP03-A
           END-IF.

           EJECT
       B317-GET-TFPRJHDR-TOTALS.

           MOVE 'B317'      TO CA-PARAGRAPH-NBR.

           EXEC SQL
                SELECT 'TOTAL'
                     , SUM(P_TOT_A)
                     , SUM(P_ACT_A)
                     , SUM(P_ACTQ01_A)
                     , SUM(P_ACTH01_A)
                     , SUM(P_ACTP01_A)
                     , SUM(P_ACTP02_A)
                     , SUM(P_ACTP03_A)
                  INTO :DCLTFPRJHDR.F-PRJ-N:W0001-IND-VAR
                     , :W0002-P-TOT-A:W0001-IND-VAR
                     , :W0002-P-ACT-A:W0001-IND-VAR
                     , :W0002-P-ACTQ01-A:W0001-IND-VAR
                     , :W0002-P-ACTH01-A:W0001-IND-VAR
                     , :W0002-P-ACTP01-A:W0001-IND-VAR
                     , :W0002-P-ACTP02-A:W0001-IND-VAR
                     , :W0002-P-ACTP03-A:W0001-IND-VAR
                  FROM D108.TFPRJHDR
                 WHERE F_MKTCRGN_C   = :DCLTFPRODLN.F-MKTCRGN-C
                   AND F_DPT_C       = :DCLTFPRJHDR.F-DPT-C
           END-EXEC.

           PERFORM  Z900-DB2-CHECK.

           IF  W0001-IND-VAR IS NOT NEGATIVE
               PERFORM B319-ROUND-TFPRJHDR-VALUES
           ELSE
               SET DB2-NORMAL TO TRUE
               MOVE ZEROES TO SQLCODE
               MOVE SPACES TO F-PRJ-N    IN DCLTFPRJHDR
               MOVE ZEROES TO P-TOT-A    IN DCLTFPRJHDR
                              P-ACT-A    IN DCLTFPRJHDR
                              P-ACTQ01-A IN DCLTFPRJHDR
                              P-ACTH01-A IN DCLTFPRJHDR
                              P-ACTP01-A IN DCLTFPRJHDR
                              P-ACTP02-A IN DCLTFPRJHDR
                              P-ACTP03-A IN DCLTFPRJHDR
                              W0002-P-ACTQ01-A
                              W0002-P-ACTH01-A
                              W0002-P-ACTP01-A
                              W0002-P-ACTP02-A
                              W0002-P-ACTP03-A
           END-IF.

           EJECT
       B318-GET-TFPRJHDR-TOTALS.

           MOVE 'B318'      TO CA-PARAGRAPH-NBR.

           EXEC SQL
                SELECT 'TOTAL'
                     , SUM(P_TOT_A)
                     , SUM(P_ACT_A)
                     , SUM(P_ACTQ01_A)
                     , SUM(P_ACTH01_A)
                     , SUM(P_ACTP01_A)
                     , SUM(P_ACTP02_A)
                     , SUM(P_ACTP03_A)
                  INTO :DCLTFPRJHDR.F-PRJ-N:W0001-IND-VAR
                     , :W0002-P-TOT-A:W0001-IND-VAR
                     , :W0002-P-ACT-A:W0001-IND-VAR
                     , :W0002-P-ACTQ01-A:W0001-IND-VAR
                     , :W0002-P-ACTH01-A:W0001-IND-VAR
                     , :W0002-P-ACTP01-A:W0001-IND-VAR
                     , :W0002-P-ACTP02-A:W0001-IND-VAR
                     , :W0002-P-ACTP03-A:W0001-IND-VAR
                  FROM D108.TFPRJHDR
                 WHERE F_MKTCRGN_C   = :DCLTFPRODLN.F-MKTCRGN-C
                   AND F_DPT_C       = :DCLTFPRJHDR.F-DPT-C
           END-EXEC.

           PERFORM  Z900-DB2-CHECK.

           IF  W0001-IND-VAR IS NOT NEGATIVE
               PERFORM B319-ROUND-TFPRJHDR-VALUES
           ELSE
               SET DB2-NORMAL TO TRUE
               MOVE ZEROES TO SQLCODE
               MOVE SPACES TO F-PRJ-N    IN DCLTFPRJHDR
               MOVE ZEROES TO P-TOT-A    IN DCLTFPRJHDR
                              P-ACT-A    IN DCLTFPRJHDR
                              P-ACTQ01-A IN DCLTFPRJHDR
                              P-ACTH01-A IN DCLTFPRJHDR
                              P-ACTP01-A IN DCLTFPRJHDR
                              P-ACTP02-A IN DCLTFPRJHDR
                              P-ACTP03-A IN DCLTFPRJHDR
                              W0002-P-ACTQ01-A
                              W0002-P-ACTH01-A
                              W0002-P-ACTP01-A
                              W0002-P-ACTP02-A
                              W0002-P-ACTP03-A
           END-IF.

           EJECT
       B319-ROUND-TFPRJHDR-VALUES.

           MOVE 'B319'      TO CA-PARAGRAPH-NBR.

           MOVE W0002-P-TOT-A     TO P-TOT-A     IN DCLTFPRJHDR
           MOVE W0002-P-ACT-A     TO P-ACT-A     IN DCLTFPRJHDR
           MOVE W0002-P-ACTQ01-A  TO P-ACTQ01-A  IN DCLTFPRJHDR
           MOVE W0002-P-ACTH01-A  TO P-ACTH01-A  IN DCLTFPRJHDR
           MOVE W0002-P-ACTP01-A  TO P-ACTP01-A  IN DCLTFPRJHDR
           MOVE W0002-P-ACTP02-A  TO P-ACTP02-A  IN DCLTFPRJHDR
           MOVE W0002-P-ACTP03-A  TO P-ACTP03-A  IN DCLTFPRJHDR

           IF  P-TOT-A IN DCLTFPRJHDR IS NEGATIVE
               COMPUTE P-TOT-A IN DCLTFPRJHDR =
                     ((P-TOT-A IN DCLTFPRJHDR - 500) / 1000)
           ELSE
               IF  P-TOT-A IN DCLTFPRJHDR > 0
                   COMPUTE P-TOT-A IN DCLTFPRJHDR =
                         ((P-TOT-A IN DCLTFPRJHDR + 500) / 1000)
               END-IF
           END-IF

           IF  P-ACT-A IN DCLTFPRJHDR IS NEGATIVE
               COMPUTE P-ACT-A IN DCLTFPRJHDR =
                     ((P-ACT-A IN DCLTFPRJHDR - 500) / 1000)
           ELSE
               IF  P-ACT-A IN DCLTFPRJHDR > 0
                   COMPUTE P-ACT-A IN DCLTFPRJHDR =
                         ((P-ACT-A IN DCLTFPRJHDR + 500) / 1000)
               END-IF
           END-IF

           IF  P-ACTP01-A IN DCLTFPRJHDR IS NEGATIVE
               COMPUTE P-ACTP01-A IN DCLTFPRJHDR =
                     ((P-ACTP01-A IN DCLTFPRJHDR - 500) / 1000)
           ELSE
               IF  P-ACTP01-A IN DCLTFPRJHDR > 0
                   COMPUTE P-ACTP01-A IN DCLTFPRJHDR =
                         ((P-ACTP01-A IN DCLTFPRJHDR + 500) / 1000)
               END-IF
           END-IF

           IF  P-ACTP02-A IN DCLTFPRJHDR IS NEGATIVE
               COMPUTE P-ACTP02-A IN DCLTFPRJHDR =
                     ((P-ACTP02-A IN DCLTFPRJHDR - 500) / 1000)
           ELSE
               IF  P-ACTP02-A IN DCLTFPRJHDR > 0
                   COMPUTE P-ACTP02-A IN DCLTFPRJHDR =
                         ((P-ACTP02-A IN DCLTFPRJHDR + 500) / 1000)
               END-IF
           END-IF

           IF  P-ACTP03-A IN DCLTFPRJHDR IS NEGATIVE
               COMPUTE P-ACTP03-A IN DCLTFPRJHDR =
                     ((P-ACTP03-A IN DCLTFPRJHDR - 500) / 1000)
           ELSE
               IF  P-ACTP03-A IN DCLTFPRJHDR > 0
                   COMPUTE P-ACTP03-A IN DCLTFPRJHDR =
                         ((P-ACTP03-A IN DCLTFPRJHDR + 500) / 1000)
               END-IF
           END-IF

           IF  P-ACTQ01-A IN DCLTFPRJHDR IS NEGATIVE
               COMPUTE P-ACTQ01-A IN DCLTFPRJHDR =
                     ((P-ACTQ01-A IN DCLTFPRJHDR - 500) / 1000)
           ELSE
               IF  P-ACTQ01-A IN DCLTFPRJHDR > 0
                   COMPUTE P-ACTQ01-A IN DCLTFPRJHDR =
                         ((P-ACTQ01-A IN DCLTFPRJHDR + 500) / 1000)
               END-IF
           END-IF

           IF  P-ACTH01-A IN DCLTFPRJHDR IS NEGATIVE
               COMPUTE P-ACTH01-A IN DCLTFPRJHDR =
                     ((P-ACTH01-A IN DCLTFPRJHDR - 500) / 1000)
           ELSE
               IF  P-ACTH01-A IN DCLTFPRJHDR > 0
                   COMPUTE P-ACTH01-A IN DCLTFPRJHDR =
                         ((P-ACTH01-A IN DCLTFPRJHDR + 500) / 1000)
               END-IF
           END-IF

      *  AFTER ROUNDING THE VALUES TO THE NEAREST 1000 TRUNCATE THE
      *  DECIMAL VALUES AND MOVE BACK TO THE ORIGINAL FIELDS FOR
      *  THE PERIOD CALCULATIONS.

           MOVE P-ACTP01-A  IN DCLTFPRJHDR  TO W0005-P-ACTP01-A.
           MOVE P-ACTP02-A  IN DCLTFPRJHDR  TO W0005-P-ACTP02-A.
           MOVE P-ACTP03-A  IN DCLTFPRJHDR  TO W0005-P-ACTP03-A.

           MOVE W0005-P-ACTP01-A  TO P-ACTP01-A  IN DCLTFPRJHDR.
           MOVE W0005-P-ACTP02-A  TO P-ACTP02-A  IN DCLTFPRJHDR.
           MOVE W0005-P-ACTP03-A  TO P-ACTP03-A  IN DCLTFPRJHDR.

           EJECT
       B320-GET-TFFCSHST-TOTALS.

           MOVE 'B320'      TO CA-PARAGRAPH-NBR.

           IF  M-SUBDPT-CI NOT EQUAL 'ALL'
               EVALUATE TRUE
                   WHEN F-FCSID-N IN DCLTFFCSHDR = -66666
                        PERFORM B321-GET-TFFCSHST-TOTALS
                   WHEN F-FCSID-N IN DCLTFFCSHDR = -77777
                        PERFORM B322-GET-TFFCSHST-TOTALS
                   WHEN F-FCSID-N IN DCLTFFCSHDR = -88888
                        PERFORM B323-GET-TFFCSHST-TOTALS
                   WHEN F-FCSID-N IN DCLTFFCSHDR = -99999
                        PERFORM B324-GET-TFFCSHST-TOTALS
               END-EVALUATE
           ELSE
               EVALUATE TRUE
                   WHEN F-FCSID-N IN DCLTFFCSHDR = -66666
                        PERFORM B325-GET-TFFCSHST-TOTALS
                   WHEN F-FCSID-N IN DCLTFFCSHDR = -77777
                        PERFORM B326-GET-TFFCSHST-TOTALS
                   WHEN F-FCSID-N IN DCLTFFCSHDR = -88888
                        PERFORM B327-GET-TFFCSHST-TOTALS
                   WHEN F-FCSID-N IN DCLTFFCSHDR = -99999
                        PERFORM B328-GET-TFFCSHST-TOTALS
               END-EVALUATE
           END-IF.

           EJECT
       B321-GET-TFFCSHST-TOTALS.

           MOVE 'B321'      TO CA-PARAGRAPH-NBR.

           EXEC SQL
                SELECT SUM(F_FCSP01_A)
                     , SUM(P_ACTP01_A)
                     , SUM(P_ACTP02_A)
                     , SUM(P_ACTP03_A)
                     , SUM(P_ACTP04_A)
                     , SUM(P_ACTP05_A)
                     , SUM(P_ACTP06_A)
                     , SUM(P_ACTP07_A)
                     , SUM(P_ACTP08_A)
                     , SUM(P_ACTP09_A)
                     , SUM(P_ACTP10_A)
                     , SUM(P_ACTP11_A)
                     , SUM(P_ACTP12_A)
                  INTO :W0003-F-FCSP01-A:W0001-IND-VAR
                     , :W0003-P-ACTP01-A:W0001-IND-VAR
                     , :W0003-P-ACTP02-A:W0001-IND-VAR
                     , :W0003-P-ACTP03-A:W0001-IND-VAR
                     , :W0003-P-ACTP04-A:W0001-IND-VAR
                     , :W0003-P-ACTP05-A:W0001-IND-VAR
                     , :W0003-P-ACTP06-A:W0001-IND-VAR
                     , :W0003-P-ACTP07-A:W0001-IND-VAR
                     , :W0003-P-ACTP08-A:W0001-IND-VAR
                     , :W0003-P-ACTP09-A:W0001-IND-VAR
                     , :W0003-P-ACTP10-A:W0001-IND-VAR
                     , :W0003-P-ACTP11-A:W0001-IND-VAR
                     , :W0003-P-ACTP12-A:W0001-IND-VAR
                  FROM D108.TFFCSHST
                 WHERE F_MKTCRGN_C   = :DCLTFPRODLN.F-MKTCRGN-C
                   AND F_DPT_C       = :DCLTFPRJHDR.F-DPT-C
                   AND F_SUBDPT_C    = :DCLTFPRJHDR.F-SUBDPT-C
                   AND F_EXPTYP_C    = :DCLTFFCSHDR.F-EXPTYP-C
                   AND F_EXPSUBTYP_C = :DCLTFFCSHDR.F-EXPSUBTYP-C
           END-EXEC.

           PERFORM  Z900-DB2-CHECK.

           IF  W0001-IND-VAR IS NOT NEGATIVE
               PERFORM B329-ROUND-TFFCSHST-VALUES
           ELSE
               SET DB2-NORMAL TO TRUE
               MOVE ZEROES TO SQLCODE
               MOVE ZEROES TO W0001-H-FCSP01-A
                              W0001-H-ACTP01-A
                              P-ACTP01-A IN DCLTFFCSHST
                              P-ACTP02-A IN DCLTFFCSHST
                              P-ACTP03-A IN DCLTFFCSHST
                              P-ACTP04-A IN DCLTFFCSHST
                              P-ACTP05-A IN DCLTFFCSHST
                              P-ACTP06-A IN DCLTFFCSHST
                              P-ACTP07-A IN DCLTFFCSHST
                              P-ACTP08-A IN DCLTFFCSHST
                              P-ACTP09-A IN DCLTFFCSHST
                              P-ACTP10-A IN DCLTFFCSHST
                              P-ACTP11-A IN DCLTFFCSHST
                              P-ACTP12-A IN DCLTFFCSHST
           END-IF.

           EJECT
       B322-GET-TFFCSHST-TOTALS.

           MOVE 'B322'      TO CA-PARAGRAPH-NBR.

           EXEC SQL
                SELECT SUM(F_FCSP01_A)
                     , SUM(P_ACTP01_A)
                     , SUM(P_ACTP02_A)
                     , SUM(P_ACTP03_A)
                     , SUM(P_ACTP04_A)
                     , SUM(P_ACTP05_A)
                     , SUM(P_ACTP06_A)
                     , SUM(P_ACTP07_A)
                     , SUM(P_ACTP08_A)
                     , SUM(P_ACTP09_A)
                     , SUM(P_ACTP10_A)
                     , SUM(P_ACTP11_A)
                     , SUM(P_ACTP12_A)
                  INTO :W0003-F-FCSP01-A:W0001-IND-VAR
                     , :W0003-P-ACTP01-A:W0001-IND-VAR
                     , :W0003-P-ACTP02-A:W0001-IND-VAR
                     , :W0003-P-ACTP03-A:W0001-IND-VAR
                     , :W0003-P-ACTP04-A:W0001-IND-VAR
                     , :W0003-P-ACTP05-A:W0001-IND-VAR
                     , :W0003-P-ACTP06-A:W0001-IND-VAR
                     , :W0003-P-ACTP07-A:W0001-IND-VAR
                     , :W0003-P-ACTP08-A:W0001-IND-VAR
                     , :W0003-P-ACTP09-A:W0001-IND-VAR
                     , :W0003-P-ACTP10-A:W0001-IND-VAR
                     , :W0003-P-ACTP11-A:W0001-IND-VAR
                     , :W0003-P-ACTP12-A:W0001-IND-VAR
                  FROM D108.TFFCSHST
                 WHERE F_MKTCRGN_C   = :DCLTFPRODLN.F-MKTCRGN-C
                   AND F_DPT_C       = :DCLTFPRJHDR.F-DPT-C
                   AND F_SUBDPT_C    = :DCLTFPRJHDR.F-SUBDPT-C
                   AND F_EXPTYP_C    = :DCLTFFCSHDR.F-EXPTYP-C
           END-EXEC.

           PERFORM  Z900-DB2-CHECK.

           IF  W0001-IND-VAR IS NOT NEGATIVE
               PERFORM B329-ROUND-TFFCSHST-VALUES
           ELSE
               SET DB2-NORMAL TO TRUE
               MOVE ZEROES TO SQLCODE
               MOVE ZEROES TO W0001-H-FCSP01-A
                              W0001-H-ACTP01-A
                              P-ACTP01-A IN DCLTFFCSHST
                              P-ACTP02-A IN DCLTFFCSHST
                              P-ACTP03-A IN DCLTFFCSHST
                              P-ACTP04-A IN DCLTFFCSHST
                              P-ACTP05-A IN DCLTFFCSHST
                              P-ACTP06-A IN DCLTFFCSHST
                              P-ACTP07-A IN DCLTFFCSHST
                              P-ACTP08-A IN DCLTFFCSHST
                              P-ACTP09-A IN DCLTFFCSHST
                              P-ACTP10-A IN DCLTFFCSHST
                              P-ACTP11-A IN DCLTFFCSHST
                              P-ACTP12-A IN DCLTFFCSHST
           END-IF.

           EJECT
       B323-GET-TFFCSHST-TOTALS.

           MOVE 'B323'      TO CA-PARAGRAPH-NBR.

           EXEC SQL
                SELECT SUM(F_FCSP01_A)
                     , SUM(P_ACTP01_A)
                     , SUM(P_ACTP02_A)
                     , SUM(P_ACTP03_A)
                     , SUM(P_ACTP04_A)
                     , SUM(P_ACTP05_A)
                     , SUM(P_ACTP06_A)
                     , SUM(P_ACTP07_A)
                     , SUM(P_ACTP08_A)
                     , SUM(P_ACTP09_A)
                     , SUM(P_ACTP10_A)
                     , SUM(P_ACTP11_A)
                     , SUM(P_ACTP12_A)
                  INTO :W0003-F-FCSP01-A:W0001-IND-VAR
                     , :W0003-P-ACTP01-A:W0001-IND-VAR
                     , :W0003-P-ACTP02-A:W0001-IND-VAR
                     , :W0003-P-ACTP03-A:W0001-IND-VAR
                     , :W0003-P-ACTP04-A:W0001-IND-VAR
                     , :W0003-P-ACTP05-A:W0001-IND-VAR
                     , :W0003-P-ACTP06-A:W0001-IND-VAR
                     , :W0003-P-ACTP07-A:W0001-IND-VAR
                     , :W0003-P-ACTP08-A:W0001-IND-VAR
                     , :W0003-P-ACTP09-A:W0001-IND-VAR
                     , :W0003-P-ACTP10-A:W0001-IND-VAR
                     , :W0003-P-ACTP11-A:W0001-IND-VAR
                     , :W0003-P-ACTP12-A:W0001-IND-VAR
                  FROM D108.TFFCSHST
                 WHERE F_MKTCRGN_C   = :DCLTFPRODLN.F-MKTCRGN-C
                   AND F_DPT_C       = :DCLTFPRJHDR.F-DPT-C
                   AND F_SUBDPT_C    = :DCLTFPRJHDR.F-SUBDPT-C
           END-EXEC.

           PERFORM  Z900-DB2-CHECK.

           IF  W0001-IND-VAR IS NOT NEGATIVE
               PERFORM B329-ROUND-TFFCSHST-VALUES
           ELSE
               SET DB2-NORMAL TO TRUE
               MOVE ZEROES TO SQLCODE
               MOVE ZEROES TO W0001-H-FCSP01-A
                              W0001-H-ACTP01-A
                              P-ACTP01-A IN DCLTFFCSHST
                              P-ACTP02-A IN DCLTFFCSHST
                              P-ACTP03-A IN DCLTFFCSHST
                              P-ACTP04-A IN DCLTFFCSHST
                              P-ACTP05-A IN DCLTFFCSHST
                              P-ACTP06-A IN DCLTFFCSHST
                              P-ACTP07-A IN DCLTFFCSHST
                              P-ACTP08-A IN DCLTFFCSHST
                              P-ACTP09-A IN DCLTFFCSHST
                              P-ACTP10-A IN DCLTFFCSHST
                              P-ACTP11-A IN DCLTFFCSHST
                              P-ACTP12-A IN DCLTFFCSHST
           END-IF.

           EJECT
       B324-GET-TFFCSHST-TOTALS.

           MOVE 'B324'      TO CA-PARAGRAPH-NBR.

           EXEC SQL
                SELECT SUM(F_FCSP01_A)
                     , SUM(P_ACTP01_A)
                     , SUM(P_ACTP02_A)
                     , SUM(P_ACTP03_A)
                     , SUM(P_ACTP04_A)
                     , SUM(P_ACTP05_A)
                     , SUM(P_ACTP06_A)
                     , SUM(P_ACTP07_A)
                     , SUM(P_ACTP08_A)
                     , SUM(P_ACTP09_A)
                     , SUM(P_ACTP10_A)
                     , SUM(P_ACTP11_A)
                     , SUM(P_ACTP12_A)
                  INTO :W0003-F-FCSP01-A:W0001-IND-VAR
                     , :W0003-P-ACTP01-A:W0001-IND-VAR
                     , :W0003-P-ACTP02-A:W0001-IND-VAR
                     , :W0003-P-ACTP03-A:W0001-IND-VAR
                     , :W0003-P-ACTP04-A:W0001-IND-VAR
                     , :W0003-P-ACTP05-A:W0001-IND-VAR
                     , :W0003-P-ACTP06-A:W0001-IND-VAR
                     , :W0003-P-ACTP07-A:W0001-IND-VAR
                     , :W0003-P-ACTP08-A:W0001-IND-VAR
                     , :W0003-P-ACTP09-A:W0001-IND-VAR
                     , :W0003-P-ACTP10-A:W0001-IND-VAR
                     , :W0003-P-ACTP11-A:W0001-IND-VAR
                     , :W0003-P-ACTP12-A:W0001-IND-VAR
                  FROM D108.TFFCSHST
                 WHERE F_MKTCRGN_C   = :DCLTFPRODLN.F-MKTCRGN-C
                   AND F_DPT_C       = :DCLTFPRJHDR.F-DPT-C
           END-EXEC.

           PERFORM  Z900-DB2-CHECK.

           IF  W0001-IND-VAR IS NOT NEGATIVE
               PERFORM B329-ROUND-TFFCSHST-VALUES
           ELSE
               SET DB2-NORMAL TO TRUE
               MOVE ZEROES TO SQLCODE
               MOVE ZEROES TO W0001-H-FCSP01-A
                              W0001-H-ACTP01-A
                              P-ACTP01-A IN DCLTFFCSHST
                              P-ACTP02-A IN DCLTFFCSHST
                              P-ACTP03-A IN DCLTFFCSHST
                              P-ACTP04-A IN DCLTFFCSHST
                              P-ACTP05-A IN DCLTFFCSHST
                              P-ACTP06-A IN DCLTFFCSHST
                              P-ACTP07-A IN DCLTFFCSHST
                              P-ACTP08-A IN DCLTFFCSHST
                              P-ACTP09-A IN DCLTFFCSHST
                              P-ACTP10-A IN DCLTFFCSHST
                              P-ACTP11-A IN DCLTFFCSHST
                              P-ACTP12-A IN DCLTFFCSHST
           END-IF.

           EJECT
       B325-GET-TFFCSHST-TOTALS.

           MOVE 'B325'      TO CA-PARAGRAPH-NBR.

           EXEC SQL
                SELECT SUM(F_FCSP01_A)
                     , SUM(P_ACTP01_A)
                     , SUM(P_ACTP02_A)
                     , SUM(P_ACTP03_A)
                     , SUM(P_ACTP04_A)
                     , SUM(P_ACTP05_A)
                     , SUM(P_ACTP06_A)
                     , SUM(P_ACTP07_A)
                     , SUM(P_ACTP08_A)
                     , SUM(P_ACTP09_A)
                     , SUM(P_ACTP10_A)
                     , SUM(P_ACTP11_A)
                     , SUM(P_ACTP12_A)
                  INTO :W0003-F-FCSP01-A:W0001-IND-VAR
                     , :W0003-P-ACTP01-A:W0001-IND-VAR
                     , :W0003-P-ACTP02-A:W0001-IND-VAR
                     , :W0003-P-ACTP03-A:W0001-IND-VAR
                     , :W0003-P-ACTP04-A:W0001-IND-VAR
                     , :W0003-P-ACTP05-A:W0001-IND-VAR
                     , :W0003-P-ACTP06-A:W0001-IND-VAR
                     , :W0003-P-ACTP07-A:W0001-IND-VAR
                     , :W0003-P-ACTP08-A:W0001-IND-VAR
                     , :W0003-P-ACTP09-A:W0001-IND-VAR
                     , :W0003-P-ACTP10-A:W0001-IND-VAR
                     , :W0003-P-ACTP11-A:W0001-IND-VAR
                     , :W0003-P-ACTP12-A:W0001-IND-VAR
                  FROM D108.TFFCSHST
                 WHERE F_MKTCRGN_C   = :DCLTFPRODLN.F-MKTCRGN-C
                   AND F_DPT_C       = :DCLTFPRJHDR.F-DPT-C
                   AND F_EXPTYP_C    = :DCLTFFCSHDR.F-EXPTYP-C
                   AND F_EXPSUBTYP_C = :DCLTFFCSHDR.F-EXPSUBTYP-C
           END-EXEC.

           PERFORM  Z900-DB2-CHECK.

           IF  W0001-IND-VAR IS NOT NEGATIVE
               PERFORM B329-ROUND-TFFCSHST-VALUES
           ELSE
               SET DB2-NORMAL TO TRUE
               MOVE ZEROES TO SQLCODE
               MOVE ZEROES TO W0001-H-FCSP01-A
                              W0001-H-ACTP01-A
                              P-ACTP01-A IN DCLTFFCSHST
                              P-ACTP02-A IN DCLTFFCSHST
                              P-ACTP03-A IN DCLTFFCSHST
                              P-ACTP04-A IN DCLTFFCSHST
                              P-ACTP05-A IN DCLTFFCSHST
                              P-ACTP06-A IN DCLTFFCSHST
                              P-ACTP07-A IN DCLTFFCSHST
                              P-ACTP08-A IN DCLTFFCSHST
                              P-ACTP09-A IN DCLTFFCSHST
                              P-ACTP10-A IN DCLTFFCSHST
                              P-ACTP11-A IN DCLTFFCSHST
                              P-ACTP12-A IN DCLTFFCSHST
           END-IF.

           EJECT
       B326-GET-TFFCSHST-TOTALS.

           MOVE 'B326'      TO CA-PARAGRAPH-NBR.

           EXEC SQL
                SELECT SUM(F_FCSP01_A)
                     , SUM(P_ACTP01_A)
                     , SUM(P_ACTP02_A)
                     , SUM(P_ACTP03_A)
                     , SUM(P_ACTP04_A)
                     , SUM(P_ACTP05_A)
                     , SUM(P_ACTP06_A)
                     , SUM(P_ACTP07_A)
                     , SUM(P_ACTP08_A)
                     , SUM(P_ACTP09_A)
                     , SUM(P_ACTP10_A)
                     , SUM(P_ACTP11_A)
                     , SUM(P_ACTP12_A)
                  INTO :W0003-F-FCSP01-A:W0001-IND-VAR
                     , :W0003-P-ACTP01-A:W0001-IND-VAR
                     , :W0003-P-ACTP02-A:W0001-IND-VAR
                     , :W0003-P-ACTP03-A:W0001-IND-VAR
                     , :W0003-P-ACTP04-A:W0001-IND-VAR
                     , :W0003-P-ACTP05-A:W0001-IND-VAR
                     , :W0003-P-ACTP06-A:W0001-IND-VAR
                     , :W0003-P-ACTP07-A:W0001-IND-VAR
                     , :W0003-P-ACTP08-A:W0001-IND-VAR
                     , :W0003-P-ACTP09-A:W0001-IND-VAR
                     , :W0003-P-ACTP10-A:W0001-IND-VAR
                     , :W0003-P-ACTP11-A:W0001-IND-VAR
                     , :W0003-P-ACTP12-A:W0001-IND-VAR
                  FROM D108.TFFCSHST
                 WHERE F_MKTCRGN_C   = :DCLTFPRODLN.F-MKTCRGN-C
                   AND F_DPT_C       = :DCLTFPRJHDR.F-DPT-C
                   AND F_EXPTYP_C    = :DCLTFFCSHDR.F-EXPTYP-C
           END-EXEC.

           PERFORM  Z900-DB2-CHECK.

           IF  W0001-IND-VAR IS NOT NEGATIVE
               PERFORM B329-ROUND-TFFCSHST-VALUES
           ELSE
               SET DB2-NORMAL TO TRUE
               MOVE ZEROES TO SQLCODE
               MOVE ZEROES TO W0001-H-FCSP01-A
                              W0001-H-ACTP01-A
                              P-ACTP01-A IN DCLTFFCSHST
                              P-ACTP02-A IN DCLTFFCSHST
                              P-ACTP03-A IN DCLTFFCSHST
                              P-ACTP04-A IN DCLTFFCSHST
                              P-ACTP05-A IN DCLTFFCSHST
                              P-ACTP06-A IN DCLTFFCSHST
                              P-ACTP07-A IN DCLTFFCSHST
                              P-ACTP08-A IN DCLTFFCSHST
                              P-ACTP09-A IN DCLTFFCSHST
                              P-ACTP10-A IN DCLTFFCSHST
                              P-ACTP11-A IN DCLTFFCSHST
                              P-ACTP12-A IN DCLTFFCSHST
           END-IF.

           EJECT
       B327-GET-TFFCSHST-TOTALS.

           MOVE 'B327'      TO CA-PARAGRAPH-NBR.

           EXEC SQL
                SELECT SUM(F_FCSP01_A)
                     , SUM(P_ACTP01_A)
                     , SUM(P_ACTP02_A)
                     , SUM(P_ACTP03_A)
                     , SUM(P_ACTP04_A)
                     , SUM(P_ACTP05_A)
                     , SUM(P_ACTP06_A)
                     , SUM(P_ACTP07_A)
                     , SUM(P_ACTP08_A)
                     , SUM(P_ACTP09_A)
                     , SUM(P_ACTP10_A)
                     , SUM(P_ACTP11_A)
                     , SUM(P_ACTP12_A)
                  INTO :W0003-F-FCSP01-A:W0001-IND-VAR
                     , :W0003-P-ACTP01-A:W0001-IND-VAR
                     , :W0003-P-ACTP02-A:W0001-IND-VAR
                     , :W0003-P-ACTP03-A:W0001-IND-VAR
                     , :W0003-P-ACTP04-A:W0001-IND-VAR
                     , :W0003-P-ACTP05-A:W0001-IND-VAR
                     , :W0003-P-ACTP06-A:W0001-IND-VAR
                     , :W0003-P-ACTP07-A:W0001-IND-VAR
                     , :W0003-P-ACTP08-A:W0001-IND-VAR
                     , :W0003-P-ACTP09-A:W0001-IND-VAR
                     , :W0003-P-ACTP10-A:W0001-IND-VAR
                     , :W0003-P-ACTP11-A:W0001-IND-VAR
                     , :W0003-P-ACTP12-A:W0001-IND-VAR
                  FROM D108.TFFCSHST
                 WHERE F_MKTCRGN_C   = :DCLTFPRODLN.F-MKTCRGN-C
                   AND F_DPT_C       = :DCLTFPRJHDR.F-DPT-C
           END-EXEC.

           PERFORM  Z900-DB2-CHECK.

           IF  W0001-IND-VAR IS NOT NEGATIVE
               PERFORM B329-ROUND-TFFCSHST-VALUES
           ELSE
               SET DB2-NORMAL TO TRUE
               MOVE ZEROES TO SQLCODE
               MOVE ZEROES TO W0001-H-FCSP01-A
                              W0001-H-ACTP01-A
                              P-ACTP01-A IN DCLTFFCSHST
                              P-ACTP02-A IN DCLTFFCSHST
                              P-ACTP03-A IN DCLTFFCSHST
                              P-ACTP04-A IN DCLTFFCSHST
                              P-ACTP05-A IN DCLTFFCSHST
                              P-ACTP06-A IN DCLTFFCSHST
                              P-ACTP07-A IN DCLTFFCSHST
                              P-ACTP08-A IN DCLTFFCSHST
                              P-ACTP09-A IN DCLTFFCSHST
                              P-ACTP10-A IN DCLTFFCSHST
                              P-ACTP11-A IN DCLTFFCSHST
                              P-ACTP12-A IN DCLTFFCSHST
           END-IF.

           EJECT
       B328-GET-TFFCSHST-TOTALS.

           MOVE 'B328'      TO CA-PARAGRAPH-NBR.

           EXEC SQL
                SELECT SUM(F_FCSP01_A)
                     , SUM(P_ACTP01_A)
                     , SUM(P_ACTP02_A)
                     , SUM(P_ACTP03_A)
                     , SUM(P_ACTP04_A)
                     , SUM(P_ACTP05_A)
                     , SUM(P_ACTP06_A)
                     , SUM(P_ACTP07_A)
                     , SUM(P_ACTP08_A)
                     , SUM(P_ACTP09_A)
                     , SUM(P_ACTP10_A)
                     , SUM(P_ACTP11_A)
                     , SUM(P_ACTP12_A)
                  INTO :W0003-F-FCSP01-A:W0001-IND-VAR
                     , :W0003-P-ACTP01-A:W0001-IND-VAR
                     , :W0003-P-ACTP02-A:W0001-IND-VAR
                     , :W0003-P-ACTP03-A:W0001-IND-VAR
                     , :W0003-P-ACTP04-A:W0001-IND-VAR
                     , :W0003-P-ACTP05-A:W0001-IND-VAR
                     , :W0003-P-ACTP06-A:W0001-IND-VAR
                     , :W0003-P-ACTP07-A:W0001-IND-VAR
                     , :W0003-P-ACTP08-A:W0001-IND-VAR
                     , :W0003-P-ACTP09-A:W0001-IND-VAR
                     , :W0003-P-ACTP10-A:W0001-IND-VAR
                     , :W0003-P-ACTP11-A:W0001-IND-VAR
                     , :W0003-P-ACTP12-A:W0001-IND-VAR
                  FROM D108.TFFCSHST
                 WHERE F_MKTCRGN_C   = :DCLTFPRODLN.F-MKTCRGN-C
                   AND F_DPT_C       = :DCLTFPRJHDR.F-DPT-C
           END-EXEC.

           PERFORM  Z900-DB2-CHECK.

           IF  W0001-IND-VAR IS NOT NEGATIVE
               PERFORM B329-ROUND-TFFCSHST-VALUES
           ELSE
               SET DB2-NORMAL TO TRUE
               MOVE ZEROES TO SQLCODE
               MOVE ZEROES TO W0001-H-FCSP01-A
                              W0001-H-ACTP01-A
                              P-ACTP01-A IN DCLTFFCSHST
                              P-ACTP02-A IN DCLTFFCSHST
                              P-ACTP03-A IN DCLTFFCSHST
                              P-ACTP04-A IN DCLTFFCSHST
                              P-ACTP05-A IN DCLTFFCSHST
                              P-ACTP06-A IN DCLTFFCSHST
                              P-ACTP07-A IN DCLTFFCSHST
                              P-ACTP08-A IN DCLTFFCSHST
                              P-ACTP09-A IN DCLTFFCSHST
                              P-ACTP10-A IN DCLTFFCSHST
                              P-ACTP11-A IN DCLTFFCSHST
                              P-ACTP12-A IN DCLTFFCSHST
           END-IF.

           EJECT
       B329-ROUND-TFFCSHST-VALUES.

           MOVE 'B329'      TO CA-PARAGRAPH-NBR.

           MOVE W0003-F-FCSP01-A  TO F-FCSP01-A  IN DCLTFFCSHST
           MOVE W0003-P-ACTP01-A  TO P-ACTP01-A  IN DCLTFFCSHST
           MOVE W0003-P-ACTP02-A  TO P-ACTP02-A  IN DCLTFFCSHST
           MOVE W0003-P-ACTP03-A  TO P-ACTP03-A  IN DCLTFFCSHST
           MOVE W0003-P-ACTP04-A  TO P-ACTP04-A  IN DCLTFFCSHST
           MOVE W0003-P-ACTP05-A  TO P-ACTP05-A  IN DCLTFFCSHST
           MOVE W0003-P-ACTP06-A  TO P-ACTP06-A  IN DCLTFFCSHST
           MOVE W0003-P-ACTP07-A  TO P-ACTP07-A  IN DCLTFFCSHST
           MOVE W0003-P-ACTP08-A  TO P-ACTP08-A  IN DCLTFFCSHST
           MOVE W0003-P-ACTP09-A  TO P-ACTP09-A  IN DCLTFFCSHST
           MOVE W0003-P-ACTP10-A  TO P-ACTP10-A  IN DCLTFFCSHST
           MOVE W0003-P-ACTP11-A  TO P-ACTP11-A  IN DCLTFFCSHST
           MOVE W0003-P-ACTP12-A  TO P-ACTP12-A  IN DCLTFFCSHST

           IF  P-ACTP01-A         IN DCLTFFCSHST IS NEGATIVE
               COMPUTE P-ACTP01-A IN DCLTFFCSHST =
                     ((P-ACTP01-A IN DCLTFFCSHST - 500) / 1000)
           ELSE
               IF  P-ACTP01-A         IN DCLTFFCSHST > 0
                   COMPUTE P-ACTP01-A IN DCLTFFCSHST =
                         ((P-ACTP01-A IN DCLTFFCSHST + 500) / 1000)
               END-IF
           END-IF

           IF  P-ACTP02-A         IN DCLTFFCSHST IS NEGATIVE
               COMPUTE P-ACTP02-A IN DCLTFFCSHST =
                     ((P-ACTP02-A IN DCLTFFCSHST - 500) / 1000)
           ELSE
               IF  P-ACTP02-A         IN DCLTFFCSHST > 0
                   COMPUTE P-ACTP02-A IN DCLTFFCSHST =
                         ((P-ACTP02-A IN DCLTFFCSHST + 500) / 1000)
               END-IF
           END-IF

           IF  P-ACTP03-A         IN DCLTFFCSHST IS NEGATIVE
               COMPUTE P-ACTP03-A IN DCLTFFCSHST =
                     ((P-ACTP03-A IN DCLTFFCSHST - 500) / 1000)
           ELSE
               IF  P-ACTP03-A         IN DCLTFFCSHST > 0
                   COMPUTE P-ACTP03-A IN DCLTFFCSHST =
                         ((P-ACTP03-A IN DCLTFFCSHST + 500) / 1000)
               END-IF
           END-IF

           IF  P-ACTP04-A         IN DCLTFFCSHST IS NEGATIVE
               COMPUTE P-ACTP04-A IN DCLTFFCSHST =
                     ((P-ACTP04-A IN DCLTFFCSHST - 500) / 1000)
           ELSE
               IF  P-ACTP04-A         IN DCLTFFCSHST > 0
                   COMPUTE P-ACTP04-A IN DCLTFFCSHST =
                         ((P-ACTP04-A IN DCLTFFCSHST + 500) / 1000)
               END-IF
           END-IF

           IF  P-ACTP05-A         IN DCLTFFCSHST IS NEGATIVE
               COMPUTE P-ACTP05-A IN DCLTFFCSHST =
                     ((P-ACTP05-A IN DCLTFFCSHST - 500) / 1000)
           ELSE
               IF  P-ACTP05-A         IN DCLTFFCSHST > 0
                   COMPUTE P-ACTP05-A IN DCLTFFCSHST =
                         ((P-ACTP05-A IN DCLTFFCSHST + 500) / 1000)
               END-IF
           END-IF

           IF  P-ACTP06-A         IN DCLTFFCSHST IS NEGATIVE
               COMPUTE P-ACTP06-A IN DCLTFFCSHST =
                     ((P-ACTP06-A IN DCLTFFCSHST - 500) / 1000)
           ELSE
               IF  P-ACTP06-A         IN DCLTFFCSHST > 0
                   COMPUTE P-ACTP06-A IN DCLTFFCSHST =
                         ((P-ACTP06-A IN DCLTFFCSHST + 500) / 1000)
               END-IF
           END-IF

           IF  P-ACTP07-A         IN DCLTFFCSHST IS NEGATIVE
               COMPUTE P-ACTP07-A IN DCLTFFCSHST =
                     ((P-ACTP07-A IN DCLTFFCSHST - 500) / 1000)
           ELSE
               IF  P-ACTP07-A         IN DCLTFFCSHST > 0
                   COMPUTE P-ACTP07-A IN DCLTFFCSHST =
                         ((P-ACTP07-A IN DCLTFFCSHST + 500) / 1000)
               END-IF
           END-IF

           IF  P-ACTP08-A         IN DCLTFFCSHST IS NEGATIVE
               COMPUTE P-ACTP08-A IN DCLTFFCSHST =
                     ((P-ACTP08-A IN DCLTFFCSHST - 500) / 1000)
           ELSE
               IF  P-ACTP08-A         IN DCLTFFCSHST > 0
                   COMPUTE P-ACTP08-A IN DCLTFFCSHST =
                         ((P-ACTP08-A IN DCLTFFCSHST + 500) / 1000)
               END-IF
           END-IF

           IF  P-ACTP09-A         IN DCLTFFCSHST IS NEGATIVE
               COMPUTE P-ACTP09-A IN DCLTFFCSHST =
                     ((P-ACTP09-A IN DCLTFFCSHST - 500) / 1000)
           ELSE
               IF  P-ACTP09-A         IN DCLTFFCSHST > 0
                   COMPUTE P-ACTP09-A IN DCLTFFCSHST =
                         ((P-ACTP09-A IN DCLTFFCSHST + 500) / 1000)
               END-IF
           END-IF

      *  AFTER ROUNDING THE VALUES TO THE NEAREST 1000 TRUNCATE THE
      *  DECIMAL VALUES AND MOVE BACK TO THE ORIGINAL FIELDS FOR
      *  THE PERIOD CALCULATIONS.

           MOVE P-ACTP01-A  IN DCLTFFCSHST  TO W0005-H-ACTP01-A.
           MOVE P-ACTP02-A  IN DCLTFFCSHST  TO W0005-H-ACTP02-A.
           MOVE P-ACTP03-A  IN DCLTFFCSHST  TO W0005-H-ACTP03-A.
           MOVE P-ACTP04-A  IN DCLTFFCSHST  TO W0005-H-ACTP04-A.
           MOVE P-ACTP05-A  IN DCLTFFCSHST  TO W0005-H-ACTP05-A.
           MOVE P-ACTP06-A  IN DCLTFFCSHST  TO W0005-H-ACTP06-A.
           MOVE P-ACTP07-A  IN DCLTFFCSHST  TO W0005-H-ACTP07-A.
           MOVE P-ACTP08-A  IN DCLTFFCSHST  TO W0005-H-ACTP08-A.
           MOVE P-ACTP09-A  IN DCLTFFCSHST  TO W0005-H-ACTP09-A.

           MOVE W0005-H-ACTP01-A  TO P-ACTP01-A  IN DCLTFFCSHST.
           MOVE W0005-H-ACTP02-A  TO P-ACTP02-A  IN DCLTFFCSHST.
           MOVE W0005-H-ACTP03-A  TO P-ACTP03-A  IN DCLTFFCSHST.
           MOVE W0005-H-ACTP04-A  TO P-ACTP04-A  IN DCLTFFCSHST.
           MOVE W0005-H-ACTP05-A  TO P-ACTP05-A  IN DCLTFFCSHST.
           MOVE W0005-H-ACTP06-A  TO P-ACTP06-A  IN DCLTFFCSHST.
           MOVE W0005-H-ACTP07-A  TO P-ACTP07-A  IN DCLTFFCSHST.
           MOVE W0005-H-ACTP08-A  TO P-ACTP08-A  IN DCLTFFCSHST.
           MOVE W0005-H-ACTP09-A  TO P-ACTP09-A  IN DCLTFFCSHST.

           EJECT
       B330-GET-TFPRJHDR-INFO.

           MOVE 'B330'      TO CA-PARAGRAPH-NBR.

           EXEC SQL
                SELECT F_PRJ_N
                     , P_TOT_A
                     , P_ACT_A
                     , P_ACTQ01_A
                     , P_ACTH01_A
                     , P_ACTP01_A
                     , P_ACTP02_A
                     , P_ACTP03_A
                  INTO :DCLTFPRJHDR.F-PRJ-N
                     , :DCLTFPRJHDR.P-TOT-A
                     , :DCLTFPRJHDR.P-ACT-A
                     , :DCLTFPRJHDR.P-ACTQ01-A
                     , :DCLTFPRJHDR.P-ACTH01-A
                     , :DCLTFPRJHDR.P-ACTP01-A
                     , :DCLTFPRJHDR.P-ACTP02-A
                     , :DCLTFPRJHDR.P-ACTP03-A
                  FROM D108.TFPRJHDR
                 WHERE F_MKTCRGN_C   = :DCLTFPRODLN.F-MKTCRGN-C
                   AND F_FCSID_N     = :DCLTFFCSHDR.F-FCSID-N
                   AND F_DPT_C       = :DCLTFPRJHDR.F-DPT-C
           END-EXEC.

           PERFORM  Z900-DB2-CHECK.

           IF  DB2-NORMAL
               MOVE P-ACTQ01-A  IN DCLTFPRJHDR  TO W0002-P-ACTQ01-A
               MOVE P-ACTH01-A  IN DCLTFPRJHDR  TO W0002-P-ACTH01-A
               MOVE P-ACTP01-A  IN DCLTFPRJHDR  TO W0002-P-ACTP01-A
               MOVE P-ACTP02-A  IN DCLTFPRJHDR  TO W0002-P-ACTP02-A
               MOVE P-ACTP03-A  IN DCLTFPRJHDR  TO W0002-P-ACTP03-A

               IF  P-TOT-A IN DCLTFPRJHDR IS NEGATIVE
                   COMPUTE P-TOT-A IN DCLTFPRJHDR =
                         ((P-TOT-A IN DCLTFPRJHDR - 500) / 1000)
               ELSE
                   IF  P-TOT-A IN DCLTFPRJHDR > 0
                       COMPUTE P-TOT-A IN DCLTFPRJHDR =
                             ((P-TOT-A IN DCLTFPRJHDR + 500) / 1000)
                   END-IF
               END-IF

               IF  P-ACT-A IN DCLTFPRJHDR IS NEGATIVE
                   COMPUTE P-ACT-A IN DCLTFPRJHDR =
                         ((P-ACT-A IN DCLTFPRJHDR - 500) / 1000)
               ELSE
                   IF  P-ACT-A IN DCLTFPRJHDR > 0
                       COMPUTE P-ACT-A IN DCLTFPRJHDR =
                             ((P-ACT-A IN DCLTFPRJHDR + 500) / 1000)
                   END-IF
               END-IF

               IF  P-ACTP01-A IN DCLTFPRJHDR IS NEGATIVE
                   COMPUTE P-ACTP01-A IN DCLTFPRJHDR =
                         ((P-ACTP01-A IN DCLTFPRJHDR - 500) / 1000)
               ELSE
                   IF  P-ACTP01-A IN DCLTFPRJHDR > 0
                       COMPUTE P-ACTP01-A IN DCLTFPRJHDR =
                             ((P-ACTP01-A IN DCLTFPRJHDR + 500) / 1000)
                   END-IF
               END-IF

               IF  P-ACTP02-A IN DCLTFPRJHDR IS NEGATIVE
                   COMPUTE P-ACTP02-A IN DCLTFPRJHDR =
                         ((P-ACTP02-A IN DCLTFPRJHDR - 500) / 1000)
               ELSE
                   IF  P-ACTP02-A IN DCLTFPRJHDR > 0
                       COMPUTE P-ACTP02-A IN DCLTFPRJHDR =
                             ((P-ACTP02-A IN DCLTFPRJHDR + 500) / 1000)
                   END-IF
               END-IF

               IF  P-ACTP03-A IN DCLTFPRJHDR IS NEGATIVE
                   COMPUTE P-ACTP03-A IN DCLTFPRJHDR =
                         ((P-ACTP03-A IN DCLTFPRJHDR - 500) / 1000)
               ELSE
                   IF  P-ACTP03-A IN DCLTFPRJHDR > 0
                       COMPUTE P-ACTP03-A IN DCLTFPRJHDR =
                             ((P-ACTP03-A IN DCLTFPRJHDR + 500) / 1000)
                   END-IF
               END-IF

               IF  P-ACTQ01-A IN DCLTFPRJHDR IS NEGATIVE
                   COMPUTE P-ACTQ01-A IN DCLTFPRJHDR =
                         ((P-ACTQ01-A IN DCLTFPRJHDR - 500) / 1000)
               ELSE
                   IF  P-ACTQ01-A IN DCLTFPRJHDR > 0
                       COMPUTE P-ACTQ01-A IN DCLTFPRJHDR =
                             ((P-ACTQ01-A IN DCLTFPRJHDR + 500) / 1000)
                   END-IF
               END-IF

               IF  P-ACTH01-A IN DCLTFPRJHDR IS NEGATIVE
                   COMPUTE P-ACTH01-A IN DCLTFPRJHDR =
                         ((P-ACTH01-A IN DCLTFPRJHDR - 500) / 1000)
               ELSE
                   IF  P-ACTH01-A IN DCLTFPRJHDR > 0
                       COMPUTE P-ACTH01-A IN DCLTFPRJHDR =
                             ((P-ACTH01-A IN DCLTFPRJHDR + 500) / 1000)
                   END-IF
               END-IF

      *  AFTER ROUNDING THE VALUES TO THE NEAREST 1000 TRUNCATE THE
      *  DECIMAL VALUES AND MOVE BACK TO THE ORIGINAL FIELDS FOR
      *  THE PERIOD CALCULATIONS.

               MOVE P-ACTP01-A  IN DCLTFPRJHDR  TO W0005-P-ACTP01-A
               MOVE P-ACTP02-A  IN DCLTFPRJHDR  TO W0005-P-ACTP02-A
               MOVE P-ACTP03-A  IN DCLTFPRJHDR  TO W0005-P-ACTP03-A

               MOVE W0005-P-ACTP01-A  TO P-ACTP01-A  IN DCLTFPRJHDR
               MOVE W0005-P-ACTP02-A  TO P-ACTP02-A  IN DCLTFPRJHDR
               MOVE W0005-P-ACTP03-A  TO P-ACTP03-A  IN DCLTFPRJHDR
           ELSE
               SET DB2-NORMAL TO TRUE
               MOVE ZEROES TO SQLCODE
               MOVE SPACES TO F-PRJ-N    IN DCLTFPRJHDR
               MOVE ZEROES TO P-TOT-A    IN DCLTFPRJHDR
                              P-ACT-A    IN DCLTFPRJHDR
                              P-ACTQ01-A IN DCLTFPRJHDR
                              P-ACTH01-A IN DCLTFPRJHDR
                              P-ACTP01-A IN DCLTFPRJHDR
                              P-ACTP02-A IN DCLTFPRJHDR
                              P-ACTP03-A IN DCLTFPRJHDR
                              W0002-P-ACTQ01-A
                              W0002-P-ACTH01-A
                              W0002-P-ACTP01-A
                              W0002-P-ACTP02-A
                              W0002-P-ACTP03-A
           END-IF.

           EJECT
       B340-GET-TFFCSHST-INFO.

           MOVE 'B340'      TO CA-PARAGRAPH-NBR.

           EXEC SQL
                SELECT F_FCSP01_A
                     , P_ACTP01_A
                     , P_ACTP02_A
                     , P_ACTP03_A
                     , P_ACTP04_A
                     , P_ACTP05_A
                     , P_ACTP06_A
                     , P_ACTP07_A
                     , P_ACTP08_A
                     , P_ACTP09_A
                     , P_ACTP10_A
                     , P_ACTP11_A
                     , P_ACTP12_A
                  INTO :DCLTFFCSHST.F-FCSP01-A
                     , :DCLTFFCSHST.P-ACTP01-A
                     , :DCLTFFCSHST.P-ACTP02-A
                     , :DCLTFFCSHST.P-ACTP03-A
                     , :DCLTFFCSHST.P-ACTP04-A
                     , :DCLTFFCSHST.P-ACTP05-A
                     , :DCLTFFCSHST.P-ACTP06-A
                     , :DCLTFFCSHST.P-ACTP07-A
                     , :DCLTFFCSHST.P-ACTP08-A
                     , :DCLTFFCSHST.P-ACTP09-A
                     , :DCLTFFCSHST.P-ACTP10-A
                     , :DCLTFFCSHST.P-ACTP11-A
                     , :DCLTFFCSHST.P-ACTP12-A
                  FROM D108.TFFCSHST
                 WHERE F_MKTCRGN_C   = :DCLTFPRODLN.F-MKTCRGN-C
                   AND F_PRJ_N       = :DCLTFPRJHDR.F-PRJ-N
                   AND F_DPT_C       = :DCLTFPRJHDR.F-DPT-C
                   AND F_FCSID_N     = :DCLTFFCSHDR.F-FCSID-N
           END-EXEC.

           PERFORM  Z900-DB2-CHECK.

           IF  DB2-NORMAL
               IF  P-ACTP01-A         IN DCLTFFCSHST IS NEGATIVE
                   COMPUTE P-ACTP01-A IN DCLTFFCSHST =
                         ((P-ACTP01-A IN DCLTFFCSHST - 500) / 1000)
               ELSE
                   IF  P-ACTP01-A         IN DCLTFFCSHST > 0
                       COMPUTE P-ACTP01-A IN DCLTFFCSHST =
                             ((P-ACTP01-A IN DCLTFFCSHST + 500) / 1000)
                   END-IF
               END-IF

               IF  P-ACTP02-A         IN DCLTFFCSHST IS NEGATIVE
                   COMPUTE P-ACTP02-A IN DCLTFFCSHST =
                         ((P-ACTP02-A IN DCLTFFCSHST - 500) / 1000)
               ELSE
                   IF  P-ACTP02-A         IN DCLTFFCSHST > 0
                       COMPUTE P-ACTP02-A IN DCLTFFCSHST =
                             ((P-ACTP02-A IN DCLTFFCSHST + 500) / 1000)
                   END-IF
               END-IF

               IF  P-ACTP03-A         IN DCLTFFCSHST IS NEGATIVE
                   COMPUTE P-ACTP03-A IN DCLTFFCSHST =
                         ((P-ACTP03-A IN DCLTFFCSHST - 500) / 1000)
               ELSE
                   IF  P-ACTP03-A         IN DCLTFFCSHST > 0
                       COMPUTE P-ACTP03-A IN DCLTFFCSHST =
                             ((P-ACTP03-A IN DCLTFFCSHST + 500) / 1000)
                   END-IF
               END-IF

               IF  P-ACTP04-A         IN DCLTFFCSHST IS NEGATIVE
                   COMPUTE P-ACTP04-A IN DCLTFFCSHST =
                         ((P-ACTP04-A IN DCLTFFCSHST - 500) / 1000)
               ELSE
                   IF  P-ACTP04-A         IN DCLTFFCSHST > 0
                       COMPUTE P-ACTP04-A IN DCLTFFCSHST =
                             ((P-ACTP04-A IN DCLTFFCSHST + 500) / 1000)
                   END-IF
               END-IF

               IF  P-ACTP05-A         IN DCLTFFCSHST IS NEGATIVE
                   COMPUTE P-ACTP05-A IN DCLTFFCSHST =
                         ((P-ACTP05-A IN DCLTFFCSHST - 500) / 1000)
               ELSE
                   IF  P-ACTP05-A         IN DCLTFFCSHST > 0
                       COMPUTE P-ACTP05-A IN DCLTFFCSHST =
                             ((P-ACTP05-A IN DCLTFFCSHST + 500) / 1000)
                   END-IF
               END-IF

               IF  P-ACTP06-A         IN DCLTFFCSHST IS NEGATIVE
                   COMPUTE P-ACTP06-A IN DCLTFFCSHST =
                         ((P-ACTP06-A IN DCLTFFCSHST - 500) / 1000)
               ELSE
                   IF  P-ACTP06-A         IN DCLTFFCSHST > 0
                       COMPUTE P-ACTP06-A IN DCLTFFCSHST =
                             ((P-ACTP06-A IN DCLTFFCSHST + 500) / 1000)
                   END-IF
               END-IF

               IF  P-ACTP07-A         IN DCLTFFCSHST IS NEGATIVE
                   COMPUTE P-ACTP07-A IN DCLTFFCSHST =
                         ((P-ACTP07-A IN DCLTFFCSHST - 500) / 1000)
               ELSE
                   IF  P-ACTP07-A         IN DCLTFFCSHST > 0
                       COMPUTE P-ACTP07-A IN DCLTFFCSHST =
                             ((P-ACTP07-A IN DCLTFFCSHST + 500) / 1000)
                   END-IF
               END-IF

               IF  P-ACTP08-A         IN DCLTFFCSHST IS NEGATIVE
                   COMPUTE P-ACTP08-A IN DCLTFFCSHST =
                         ((P-ACTP08-A IN DCLTFFCSHST - 500) / 1000)
               ELSE
                   IF  P-ACTP08-A         IN DCLTFFCSHST > 0
                       COMPUTE P-ACTP08-A IN DCLTFFCSHST =
                             ((P-ACTP08-A IN DCLTFFCSHST + 500) / 1000)
                   END-IF
               END-IF

               IF  P-ACTP09-A         IN DCLTFFCSHST IS NEGATIVE
                   COMPUTE P-ACTP09-A IN DCLTFFCSHST =
                         ((P-ACTP09-A IN DCLTFFCSHST - 500) / 1000)
               ELSE
                   IF  P-ACTP09-A         IN DCLTFFCSHST > 0
                       COMPUTE P-ACTP09-A IN DCLTFFCSHST =
                             ((P-ACTP09-A IN DCLTFFCSHST + 500) / 1000)
                   END-IF
               END-IF

      *  AFTER ROUNDING THE VALUES TO THE NEAREST 1000 TRUNCATE THE
      *  DECIMAL VALUES AND MOVE BACK TO THE ORIGINAL FIELD   OR
      *  THE PERIOD CALCULATIONS.

               MOVE P-ACTP01-A  IN DCLTFFCSHST  TO W0005-H-ACTP01-A
               MOVE P-ACTP02-A  IN DCLTFFCSHST  TO W0005-H-ACTP02-A
               MOVE P-ACTP03-A  IN DCLTFFCSHST  TO W0005-H-ACTP03-A
               MOVE P-ACTP04-A  IN DCLTFFCSHST  TO W0005-H-ACTP04-A
               MOVE P-ACTP05-A  IN DCLTFFCSHST  TO W0005-H-ACTP05-A
               MOVE P-ACTP06-A  IN DCLTFFCSHST  TO W0005-H-ACTP06-A
               MOVE P-ACTP07-A  IN DCLTFFCSHST  TO W0005-H-ACTP07-A
               MOVE P-ACTP08-A  IN DCLTFFCSHST  TO W0005-H-ACTP08-A
               MOVE P-ACTP09-A  IN DCLTFFCSHST  TO W0005-H-ACTP09-A

               MOVE W0005-H-ACTP01-A  TO P-ACTP01-A  IN DCLTFFCSHST
               MOVE W0005-H-ACTP02-A  TO P-ACTP02-A  IN DCLTFFCSHST
               MOVE W0005-H-ACTP03-A  TO P-ACTP03-A  IN DCLTFFCSHST
               MOVE W0005-H-ACTP04-A  TO P-ACTP04-A  IN DCLTFFCSHST
               MOVE W0005-H-ACTP05-A  TO P-ACTP05-A  IN DCLTFFCSHST
               MOVE W0005-H-ACTP06-A  TO P-ACTP06-A  IN DCLTFFCSHST
               MOVE W0005-H-ACTP07-A  TO P-ACTP07-A  IN DCLTFFCSHST
               MOVE W0005-H-ACTP08-A  TO P-ACTP08-A  IN DCLTFFCSHST
               MOVE W0005-H-ACTP09-A  TO P-ACTP09-A  IN DCLTFFCSHST
           ELSE
               SET DB2-NORMAL TO TRUE
               MOVE ZEROES TO SQLCODE
               MOVE ZEROES TO W0001-H-FCSP01-A
                              W0001-H-ACTP01-A
                              P-ACTP01-A IN DCLTFFCSHST
                              P-ACTP02-A IN DCLTFFCSHST
                              P-ACTP03-A IN DCLTFFCSHST
                              P-ACTP04-A IN DCLTFFCSHST
                              P-ACTP05-A IN DCLTFFCSHST
                              P-ACTP06-A IN DCLTFFCSHST
                              P-ACTP07-A IN DCLTFFCSHST
                              P-ACTP08-A IN DCLTFFCSHST
                              P-ACTP09-A IN DCLTFFCSHST
                              P-ACTP10-A IN DCLTFFCSHST
                              P-ACTP11-A IN DCLTFFCSHST
                              P-ACTP12-A IN DCLTFFCSHST
           END-IF.

           EJECT
       B350-MOVE-DB-TO-MAP-SAVE.

           MOVE 'B350'      TO CA-PARAGRAPH-NBR.

           MOVE F-FCSID-N       IN DCLTFFCSHDR
             TO WS-M-F-FCSID-N  (W0001-IX).
           MOVE F-PRJ-N         IN DCLTFPRJHDR
             TO WS-M-F-PRJ-N    (W0001-IX).
           MOVE F-PRJ-X         IN DCLTFPRJHDR
             TO WS-M-F-PRJ-X    (W0001-IX).
           MOVE F-EXPTYP-C      IN DCLTFFCSHDR
             TO WS-M-F-EXPTYP-C (W0001-IX).
           MOVE F-EXPSUBTYP-C   IN DCLTFFCSHDR
             TO WS-M-F-SUBTYP-C (W0001-IX).

           MOVE F-FCSP00-A      IN DCLTFFCSHDR
             TO WS-M-F-FCSP00-A (W0001-IX)
                WS-P-F-FCSP00-A (W0001-IX).
           MOVE F-FCSP01-A      IN DCLTFFCSHDR
             TO WS-M-F-FCSP01-A (W0001-IX)
                WS-P-F-FCSP01-A (W0001-IX).
           MOVE F-FCSP02-A      IN DCLTFFCSHDR
             TO WS-M-F-FCSP02-A (W0001-IX)
                WS-P-F-FCSP02-A (W0001-IX).
           MOVE F-FCSP03-A      IN DCLTFFCSHDR
             TO WS-M-F-FCSP03-A (W0001-IX)
                WS-P-F-FCSP03-A (W0001-IX).
           MOVE F-FCSP04-A      IN DCLTFFCSHDR
             TO WS-M-F-FCSP04-A (W0001-IX)
                WS-P-F-FCSP04-A (W0001-IX).
           MOVE F-FCSP05-A      IN DCLTFFCSHDR
             TO WS-M-F-FCSP05-A (W0001-IX)
                WS-P-F-FCSP05-A (W0001-IX).
           MOVE F-FCSQ02-A      IN DCLTFFCSHDR
             TO WS-M-F-FCSQ02-A (W0001-IX)
                WS-P-F-FCSQ02-A (W0001-IX).
           MOVE F-FCSQ03-A      IN DCLTFFCSHDR
             TO WS-M-F-FCSQ03-A (W0001-IX)
                WS-P-F-FCSQ03-A (W0001-IX).
           MOVE F-FCSQ04-A      IN DCLTFFCSHDR
             TO WS-M-F-FCSQ04-A (W0001-IX)
                WS-P-F-FCSQ04-A (W0001-IX).
           MOVE F-FCSQ05-A      IN DCLTFFCSHDR
             TO WS-M-F-FCSQ05-A (W0001-IX)
                WS-P-F-FCSQ05-A (W0001-IX).

           EJECT
       B360-BUILD-PROJECT-DESC.

           MOVE 'B360'      TO CA-PARAGRAPH-NBR.

           IF  F-FCSID-N IN DCLTFFCSHDR < 0
               MOVE F-PRJ-X    IN DCLTFPRJHDR
                 TO M-PRJ-NI       (W0001-IX)
           ELSE
               IF  DISPLAY-PROJECTS
                   IF  F-PRJ-N  IN DCLTFPRJHDR (9:1) = ' '
                       MOVE F-PRJ-X    IN DCLTFPRJHDR
                         TO W0001-PRJ-X
                   ELSE
                       MOVE ' '
                         TO W0001-PRJ-X (1:1)
                       MOVE F-PRJ-X    IN DCLTFPRJHDR
                         TO W0001-PRJ-X (2:29)
                   END-IF

                   IF  F-PRJ-N  IN DCLTFPRJHDR EQUAL SPACES
                       IF  F-FCSID-N  IN DCLTFFCSHDR EQUAL ZEROES
                           MOVE SPACES
                             TO M-PRJ-NI       (W0001-IX)
                       ELSE
                           MOVE F-FCSID-N      IN DCLTFFCSHDR
                             TO W0001-PRJ-N
                           MOVE W0001-PROJECT
                             TO M-PRJ-NI       (W0001-IX)
                   END-IF
                   ELSE
                       MOVE F-PRJ-N        IN DCLTFPRJHDR
                         TO W0001-PRJ-N
                       MOVE W0001-PROJECT
                         TO M-PRJ-NI       (W0001-IX)
                   END-IF
               ELSE
                   IF  F-FCSID-N  IN DCLTFFCSHDR EQUAL ZEROES
                       MOVE SPACES
                         TO M-PRJ-NI       (W0001-IX)
                   ELSE
                       MOVE F-PRJ-X    IN DCLTFPRJHDR
                         TO W0001-FCS-X

                       MOVE F-FCSID-N      IN DCLTFFCSHDR
                         TO W0001-FCS-N
                       MOVE W0001-FCST
                         TO M-PRJ-NI       (W0001-IX)
                   END-IF
               END-IF
           END-IF.

           EJECT
       B370-CALCULATE-FCST-AMT.

           MOVE 'B370'      TO CA-PARAGRAPH-NBR.

           MOVE P-TOT-A        IN DCLTFPRJHDR
             TO W0001-AMT-01.

           MOVE P-ACT-A        IN DCLTFPRJHDR
             TO W0001-AMT-02.

           COMPUTE W0001-AMT-03 =
                 (( W0002-P-ACTQ01-A
                  + W0002-P-ACTH01-A
                  + W0002-P-ACTP01-A
                  + W0002-P-ACTP02-A
                  + W0002-P-ACTP03-A
                  + 500 )
                  / 1000 ).

           IF  CA-FISCAL-PERIOD = NSC-FISCAL-PERIOD
               EVALUATE CA-FISCAL-PERIOD
                   WHEN 01
                        COMPUTE W0001-AMT-04 =
                              ( P-ACTP01-A    IN DCLTFPRJHDR )
                        COMPUTE W0001-AMT-05 =
                              ( F-FCSP00-A    IN DCLTFFCSHDR )
                        COMPUTE W0001-AMT-06 =
                              ( F-FCSP01-A    IN DCLTFFCSHDR )
                        COMPUTE W0001-AMT-07 =
                              ( F-FCSP02-A    IN DCLTFFCSHDR )
                        COMPUTE W0001-AMT-08 =
                              ( F-FCSP00-A    IN DCLTFFCSHDR
                              + F-FCSP01-A    IN DCLTFFCSHDR
                              + F-FCSP02-A    IN DCLTFFCSHDR )
                        COMPUTE W0001-AMT-09 =
                              ( F-FCSP03-A    IN DCLTFFCSHDR )
                        COMPUTE W0001-AMT-10 =
                              ( F-FCSQ02-A    IN DCLTFFCSHDR )
                        COMPUTE W0001-AMT-11 =
                              ( F-FCSQ03-A    IN DCLTFFCSHDR )
                   WHEN 02
                        COMPUTE W0001-AMT-04 =
                              ( P-ACTP01-A    IN DCLTFPRJHDR )
                        COMPUTE W0001-AMT-05 =
                              ( P-ACTP02-A    IN DCLTFPRJHDR )
                        COMPUTE W0001-AMT-06 =
                              ( F-FCSP01-A    IN DCLTFFCSHDR )
                        COMPUTE W0001-AMT-07 =
                              ( F-FCSP02-A    IN DCLTFFCSHDR )
                        COMPUTE W0001-AMT-08 =
                              ( P-ACTP01-A    IN DCLTFPRJHDR
                              + F-FCSP01-A    IN DCLTFFCSHDR
                              + F-FCSP02-A    IN DCLTFFCSHDR )
                        COMPUTE W0001-AMT-09 =
                              ( F-FCSP03-A    IN DCLTFFCSHDR )
                        COMPUTE W0001-AMT-10 =
                              ( F-FCSQ02-A    IN DCLTFFCSHDR )
                        COMPUTE W0001-AMT-11 =
                              ( F-FCSQ03-A    IN DCLTFFCSHDR )
                   WHEN 03
                        COMPUTE W0001-AMT-04 =
                              ( P-ACTP03-A    IN DCLTFPRJHDR )
                        COMPUTE W0001-AMT-05 =
                              ( F-FCSP02-A    IN DCLTFFCSHDR )
                        COMPUTE W0001-AMT-06 =
                              ( P-ACTP01-A    IN DCLTFPRJHDR
                              + P-ACTP02-A    IN DCLTFPRJHDR
                              + P-ACTP03-A    IN DCLTFPRJHDR )
                        COMPUTE W0001-AMT-07 =
                              ( P-ACTP01-A    IN DCLTFPRJHDR
                              + P-ACTP02-A    IN DCLTFPRJHDR
                              + F-FCSP02-A    IN DCLTFFCSHDR )
                        IF  DISPLAY-NORMAL-FCSTS
                            COMPUTE W0001-AMT-08 =
                                  ( F-FCSP03-A    IN DCLTFFCSHDR )
                            COMPUTE W0001-AMT-09 =
                                  ( F-FCSP04-A    IN DCLTFFCSHDR )
                            COMPUTE W0001-AMT-10 =
                                  ( F-FCSP05-A    IN DCLTFFCSHDR )
                            COMPUTE W0001-AMT-11 =
                                  ( F-FCSP03-A    IN DCLTFFCSHDR
                                  + F-FCSP04-A    IN DCLTFFCSHDR
                                  + F-FCSP05-A    IN DCLTFFCSHDR )
                        ELSE
                            COMPUTE W0001-AMT-08 =
                                  ( F-FCSP03-A    IN DCLTFFCSHDR
                                  + F-FCSP04-A    IN DCLTFFCSHDR
                                  + F-FCSP05-A    IN DCLTFFCSHDR )
                            COMPUTE W0001-AMT-09 =
                                  ( F-FCSQ02-A    IN DCLTFFCSHDR )
                            COMPUTE W0001-AMT-10 =
                                  ( F-FCSQ03-A    IN DCLTFFCSHDR )
                            COMPUTE W0001-AMT-11 =
                                  ( P-ACTP01-A    IN DCLTFPRJHDR
                                  + P-ACTP02-A    IN DCLTFPRJHDR
                                  + F-FCSP02-A    IN DCLTFFCSHDR
                                  + F-FCSP03-A    IN DCLTFFCSHDR
                                  + F-FCSP04-A    IN DCLTFFCSHDR
                                  + F-FCSP05-A    IN DCLTFFCSHDR
                                  + F-FCSQ02-A    IN DCLTFFCSHDR
                                  + F-FCSQ03-A    IN DCLTFFCSHDR )
                        END-IF
                   WHEN 04
                        COMPUTE W0001-AMT-04 =
                              ( P-ACTQ01-A    IN DCLTFPRJHDR )
                        COMPUTE W0001-AMT-05 =
                              ( P-ACTP01-A    IN DCLTFPRJHDR )
                        COMPUTE W0001-AMT-06 =
                              ( F-FCSP00-A    IN DCLTFFCSHDR )
                        COMPUTE W0001-AMT-07 =
                              ( F-FCSP01-A    IN DCLTFFCSHDR )
                        COMPUTE W0001-AMT-08 =
                              ( F-FCSP02-A    IN DCLTFFCSHDR )
                        COMPUTE W0001-AMT-09 =
                              ( F-FCSP00-A    IN DCLTFFCSHDR
                              + F-FCSP01-A    IN DCLTFFCSHDR
                              + F-FCSP02-A    IN DCLTFFCSHDR )
                        COMPUTE W0001-AMT-10 =
                              ( F-FCSP03-A    IN DCLTFFCSHDR )
                        COMPUTE W0001-AMT-11 =
                              ( F-FCSQ02-A    IN DCLTFFCSHDR )
                   WHEN 05
                        COMPUTE W0001-AMT-04 =
                              ( P-ACTQ01-A    IN DCLTFPRJHDR )
                        COMPUTE W0001-AMT-05 =
                              ( P-ACTP01-A    IN DCLTFPRJHDR )
                        COMPUTE W0001-AMT-06 =
                              ( P-ACTP02-A    IN DCLTFPRJHDR )
                        COMPUTE W0001-AMT-07 =
                              ( F-FCSP01-A    IN DCLTFFCSHDR )
                        COMPUTE W0001-AMT-08 =
                              ( F-FCSP02-A    IN DCLTFFCSHDR )
                        COMPUTE W0001-AMT-09 =
                              ( P-ACTP01-A    IN DCLTFPRJHDR
                              + F-FCSP01-A    IN DCLTFFCSHDR
                              + F-FCSP02-A    IN DCLTFFCSHDR )
                        COMPUTE W0001-AMT-10 =
                              ( F-FCSP03-A    IN DCLTFFCSHDR )
                        COMPUTE W0001-AMT-11 =
                              ( F-FCSQ02-A    IN DCLTFFCSHDR )
                   WHEN 06
                        COMPUTE W0001-AMT-04 =
                              ( P-ACTP03-A    IN DCLTFPRJHDR )
                        COMPUTE W0001-AMT-05 =
                              ( F-FCSP02-A    IN DCLTFFCSHDR )
                        COMPUTE W0001-AMT-06 =
                              ( P-ACTP01-A    IN DCLTFPRJHDR
                              + P-ACTP02-A    IN DCLTFPRJHDR
                              + P-ACTP03-A    IN DCLTFPRJHDR )
                        COMPUTE W0001-AMT-07 =
                              ( P-ACTP01-A    IN DCLTFPRJHDR
                              + P-ACTP02-A    IN DCLTFPRJHDR
                              + F-FCSP02-A    IN DCLTFFCSHDR )
                        IF  DISPLAY-NORMAL-FCSTS
                            COMPUTE W0001-AMT-08 =
                                  ( F-FCSP03-A    IN DCLTFFCSHDR )
                            COMPUTE W0001-AMT-09 =
                                  ( F-FCSP04-A    IN DCLTFFCSHDR )
                            COMPUTE W0001-AMT-10 =
                                  ( F-FCSP05-A    IN DCLTFFCSHDR )
                            COMPUTE W0001-AMT-11 =
                                  ( F-FCSP03-A    IN DCLTFFCSHDR
                                  + F-FCSP04-A    IN DCLTFFCSHDR
                                  + F-FCSP05-A    IN DCLTFFCSHDR )
                        ELSE
                            COMPUTE W0001-AMT-08 =
                                  ( F-FCSP03-A    IN DCLTFFCSHDR
                                  + F-FCSP04-A    IN DCLTFFCSHDR
                                  + F-FCSP05-A    IN DCLTFFCSHDR )
                            COMPUTE W0001-AMT-09 =
                                  ( F-FCSQ02-A    IN DCLTFFCSHDR )
                            COMPUTE W0001-AMT-10 =
                                  ( P-ACTQ01-A    IN DCLTFPRJHDR
                                  + P-ACTP01-A    IN DCLTFPRJHDR
                                  + P-ACTP02-A    IN DCLTFPRJHDR
                                  + F-FCSP02-A    IN DCLTFFCSHDR
                                  + F-FCSP03-A    IN DCLTFFCSHDR
                                  + F-FCSP04-A    IN DCLTFFCSHDR
                                  + F-FCSP05-A    IN DCLTFFCSHDR
                                  + F-FCSQ02-A    IN DCLTFFCSHDR )
                        END-IF
                   WHEN 07
                        COMPUTE W0001-AMT-04 =
                              ( P-ACTP06-A    IN DCLTFFCSHST
                              + P-ACTP05-A    IN DCLTFFCSHST
                              + P-ACTP04-A    IN DCLTFFCSHST )
                        COMPUTE W0001-AMT-05 =
                              ( P-ACTP03-A    IN DCLTFFCSHST
                              + P-ACTP02-A    IN DCLTFFCSHST
                              + P-ACTP01-A    IN DCLTFF    T )
                        COMPUTE W0001-AMT-06 =
                              ( P-ACTP01-A    IN DCLTFPRJHDR )
                        COMPUTE W0001-AMT-07 =
                              ( F-FCSP00-A    IN DCLTFFCSHDR )
                        COMPUTE W0001-AMT-08 =
                              ( F-FCSP01-A    IN DCLTFFCSHDR )
                        COMPUTE W0001-AMT-09 =
                              ( F-FCSP02-A    IN DCLTFFCSHDR )
                        COMPUTE W0001-AMT-10 =
                              ( F-FCSP00-A    IN DCLTFFCSHDR
                              + F-FCSP01-A    IN DCLTFFCSHDR
                              + F-FCSP02-A    IN DCLTFFCSHDR )
                        COMPUTE W0001-AMT-11 =
                              ( F-FCSP03-A    IN DCLTFFCSHDR )
                   WHEN 08
                        COMPUTE W0001-AMT-04 =
                              ( P-ACTP06-A    IN DCLTFFCSHST
                              + P-ACTP05-A    IN DCLTFFCSHST
                              + P-ACTP04-A    IN DCLTFFCSHST )
                        COMPUTE W0001-AMT-05 =
                              ( P-ACTP03-A    IN DCLTFFCSHST
                              + P-ACTP02-A    IN DCLTFFCSHST
                              + P-ACTP01-A    IN DCLTFFCSHST )
                        COMPUTE W0001-AMT-06 =
                              ( P-ACTP01-A    IN DCLTFPRJHDR )
                        COMPUTE W0001-AMT-07 =
                              ( P-ACTP02-A    IN DCLTFPRJHDR )
                        COMPUTE W0001-AMT-08 =
                              ( F-FCSP01-A    IN DCLTFFCSHDR )
                        COMPUTE W0001-AMT-09 =
                              ( F-FCSP02-A    IN DCLTFFCSHDR )
                        COMPUTE W0001-AMT-10 =
                              ( P-ACTP01-A    IN DCLTFPRJHDR
                              + F-FCSP01-A    IN DCLTFFCSHDR
                              + F-FCSP02-A    IN DCLTFFCSHDR )
                        COMPUTE W0001-AMT-11 =
                              ( F-FCSP03-A    IN DCLTFFCSHDR )
                   WHEN 09
                        COMPUTE W0001-AMT-04 =
                              ( P-ACTP03-A    IN DCLTFPRJHDR )
                        COMPUTE W0001-AMT-05 =
                              ( F-FCSP02-A    IN DCLTFFCSHDR )
                        COMPUTE W0001-AMT-06 =
                              ( P-ACTP01-A    IN DCLTFPRJHDR
                              + P-ACTP02-A    IN DCLTFPRJHDR
                              + P-ACTP03-A    IN DCLTFPRJHDR )
                        COMPUTE W0001-AMT-07 =
                              ( P-ACTP01-A    IN DCLTFPRJHDR
                              + P-ACTP02-A    IN DCLTFPRJHDR
                              + F-FCSP02-A    IN DCLTFFCSHDR )
                        IF  DISPLAY-NORMAL-FCSTS
                            COMPUTE W0001-AMT-08 =
                                  ( F-FCSP03-A    IN DCLTFFCSHDR )
                            COMPUTE W0001-AMT-09 =
                                  ( F-FCSP04-A    IN DCLTFFCSHDR )
                            COMPUTE W0001-AMT-10 =
                                  ( F-FCSP05-A    IN DCLTFFCSHDR )
                            COMPUTE W0001-AMT-11 =
                                  ( F-FCSP03-A    IN DCLTFFCSHDR
                                  + F-FCSP04-A    IN DCLTFFCSHDR
                                  + F-FCSP05-A    IN DCLTFFCSHDR )
                        ELSE
                            COMPUTE W0001-AMT-08 =
                                  ( F-FCSP03-A    IN DCLTFFCSHDR
                                  + F-FCSP04-A    IN DCLTFFCSHDR
                                  + F-FCSP05-A    IN DCLTFFCSHDR )
                            COMPUTE W0001-AMT-09 =
                                  ( P-ACTP06-A    IN DCLTFFCSHST
                                  + P-ACTP05-A    IN DCLTFFCSHST
                                  + P-ACTP04-A    IN DCLTFFCSHST
                                  + P-ACTP03-A    IN DCLTFFCSHST
                                  + P-ACTP02-A    IN DCLTFFCSHST
                                  + P-ACTP01-A    IN DCLTFFCSHST
                                  + P-ACTP01-A    IN DCLTFPRJHDR
                                  + P-ACTP02-A    IN DCLTFPRJHDR
                                  + P-ACTP03-A    IN DCLTFPRJHDR
                                  + F-FCSP03-A    IN DCLTFFCSHDR
                                  + F-FCSP04-A    IN DCLTFFCSHDR
                                  + F-FCSP05-A    IN DCLTFFCSHDR )
                            COMPUTE W0001-AMT-10 =
                                  ( F-FCSQ02-A    IN DCLTFFCSHDR )
                        END-IF
                   WHEN 10
                        COMPUTE W0001-AMT-04 =
                              ( P-ACTP09-A    IN DCLTFFCSHST
                              + P-ACTP08-A    IN DCLTFFCSHST
                              + P-ACTP07-A    IN DCLTFFCSHST
                              + P-ACTP06-A    IN DCLTFFCSHST
                              + P-ACTP05-A    IN DCLTFFCSHST
                              + P-ACTP04-A    IN DCLTFFCSHST )
                        COMPUTE W0001-AMT-05 =
                              ( P-ACTP03-A    IN DCLTFFCSHST
                              + P-ACTP02-A    IN DCLTFFCSHST
                              + P-ACTP01-A    IN DCLTFFCSHST )
                        COMPUTE W0001-AMT-06 =
                              ( P-ACTP01-A    IN DCLTFPRJHDR )
                        COMPUTE W0001-AMT-07 =
                              ( F-FCSP00-A    IN DCLTFFCSHDR )
                        COMPUTE W0001-AMT-08 =
                              ( F-FCSP01-A    IN DCLTFFCSHDR )
                        COMPUTE W0001-AMT-09 =
                              ( F-FCSP02-A    IN DCLTFFCSHDR )
                        COMPUTE W0001-AMT-10 =
                              ( F-FCSP00-A    IN DCLTFFCSHDR
                              + F-FCSP01-A    IN DCLTFFCSHDR
                              + F-FCSP02-A    IN DCLTFFCSHDR )
                        COMPUTE W0001-AMT-11 =
                              ( F-FCSP03-A    IN DCLTFFCSHDR )
                   WHEN 11
                        COMPUTE W0001-AMT-04 =
                              ( P-ACTP09-A    IN DCLTFFCSHST
                              + P-ACTP08-A    IN DCLTFFCSHST
                              + P-ACTP07-A    IN DCLTFFCSHST
                              + P-ACTP06-A    IN DCLTFFCSHST
                              + P-ACTP05-A    IN DCLTFFCSHST
                              + P-ACTP04-A    IN DCLTFFCSHST )
                        COMPUTE W0001-AMT-05 =
                              ( P-ACTP03-A    IN DCLTFFCSHST
                              + P-ACTP02-A    IN DCLTFFCSHST
                              + P-ACTP01-A    IN DCLTFFCSHST )
                        COMPUTE W0001-AMT-06 =
                              ( P-ACTP01-A    IN DCLTFPRJHDR )
                        COMPUTE W0001-AMT-07 =
                              ( P-ACTP02-A    IN DCLTFPRJHDR )
                        COMPUTE W0001-AMT-08 =
                              ( F-FCSP01-A    IN DCLTFFCSHDR )
                        COMPUTE W0001-AMT-09 =
                              ( F-FCSP02-A    IN DCLTFFCSHDR )
                        COMPUTE W0001-AMT-10 =
                              ( P-ACTP01-A    IN DCLTFPRJHDR
                              + F-FCSP01-A    IN DCLTFFCSHDR
                              + F-FCSP02-A    IN DCLTFFCSHDR )
                        COMPUTE W0001-AMT-11 =
                              ( F-FCSP03-A    IN DCLTFFCSHDR )
                   WHEN 12
                        COMPUTE W0001-AMT-04 =
                              ( P-ACTP03-A    IN DCLTFPRJHDR )
                        COMPUTE W0001-AMT-05 =
                              ( F-FCSP02-A    IN DCLTFFCSHDR )
                        COMPUTE W0001-AMT-06 =
                              ( P-ACTP01-A    IN DCLTFPRJHDR
                              + P-ACTP02-A    IN DCLTFPRJHDR
                              + P-ACTP03-A    IN DCLTFPRJHDR )
                        COMPUTE W0001-AMT-07 =
                              ( P-ACTP01-A    IN DCLTFPRJHDR
                              + P-ACTP02-A    IN DCLTFPRJHDR
                              + F-FCSP02-A    IN DCLTFFCSHDR )
                        IF  DISPLAY-NORMAL-FCSTS
                            COMPUTE W0001-AMT-08 =
                                  ( F-FCSP03-A    IN DCLTFFCSHDR )
                            COMPUTE W0001-AMT-09 =
                                  ( F-FCSP04-A    IN DCLTFFCSHDR )
                            COMPUTE W0001-AMT-10 =
                                  ( F-FCSP05-A    IN DCLTFFCSHDR )
                            COMPUTE W0001-AMT-11 =
                                  ( F-FCSP03-A    IN DCLTFFCSHDR
                                  + F-FCSP04-A    IN DCLTFFCSHDR
                                  + F-FCSP05-A    IN DCLTFFCSHDR )
                        ELSE
                            COMPUTE W0001-AMT-08 =
                                  ( F-FCSP03-A    IN DCLTFFCSHDR
                                  + F-FCSP04-A    IN DCLTFFCSHDR
                                  + F-FCSP05-A    IN DCLTFFCSHDR )
                            COMPUTE W0001-AMT-09 =
                                  ( F-FCSQ02-A    IN DCLTFFCSHDR )
                            COMPUTE W0001-AMT-10 =
                                  ( F-FCSQ03-A    IN DCLTFFCSHDR )
                            COMPUTE W0001-AMT-11 =
                                  ( F-FCSQ04-A    IN DCLTFFCSHDR )
                        END-IF
               END-EVALUATE
           ELSE
               EVALUATE CA-FISCAL-PERIOD
                   WHEN 01
                        COMPUTE W0001-AMT-04 =
                              ( P-ACTP01-A    IN DCLTFPRJHDR )
                        COMPUTE W0001-AMT-05 =
                              ( F-FCSP00-A    IN DCLTFFCSHDR )
                        COMPUTE W0001-AMT-06 =
                              ( F-FCSP01-A    IN DCLTFFCSHDR )
                        COMPUTE W0001-AMT-07 =
                              ( F-FCSP02-A    IN DCLTFFCSHDR )
                        COMPUTE W0001-AMT-08 =
                              ( P-ACTP01-A    IN DCLTFPRJHDR
                              + F-FCSP01-A    IN DCLTFFCSHDR
                              + F-FCSP02-A    IN DCLTFFCSHDR )
                        COMPUTE W0001-AMT-09 =
                              ( F-FCSP03-A    IN DCLTFFCSHDR )
                        COMPUTE W0001-AMT-10 =
                              ( F-FCSQ02-A    IN DCLTFFCSHDR )
                        COMPUTE W0001-AMT-11 =
                              ( F-FCSQ03-A    IN DCLTFFCSHDR )
                   WHEN 02
                        COMPUTE W0001-AMT-04 =
                              ( P-ACTP01-A    IN DCLTFPRJHDR )
                        COMPUTE W0001-AMT-05 =
                              ( P-ACTP02-A    IN DCLTFPRJHDR )
                        COMPUTE W0001-AMT-06 =
                              ( F-FCSP01-A    IN DCLTFFCSHDR )
                        COMPUTE W0001-AMT-07 =
                              ( F-FCSP02-A    IN DCLTFFCSHDR )
                        COMPUTE W0001-AMT-08 =
                              ( P-ACTP01-A    IN DCLTFPRJHDR
                              + P-ACTP02-A    IN DCLTFPRJHDR
                              + F-FCSP02-A    IN DCLTFFCSHDR )
                        COMPUTE W0001-AMT-09 =
                              ( F-FCSP03-A    IN DCLTFFCSHDR )
                        COMPUTE W0001-AMT-10 =
                              ( F-FCSQ02-A    IN DCLTFFCSHDR )
                        COMPUTE W0001-AMT-11 =
                              ( F-FCSQ03-A    IN DCLTFFCSHDR )
                   WHEN 03
                        COMPUTE W0001-AMT-04 =
                              ( P-ACTP03-A    IN DCLTFPRJHDR )
                        COMPUTE W0001-AMT-05 =
                              ( F-FCSP02-A    IN DCLTFFCSHDR )
                        COMPUTE W0001-AMT-06 =
                              ( P-ACTP01-A    IN DCLTFPRJHDR
                              + P-ACTP02-A    IN DCLTFPRJHDR
                              + P-ACTP03-A    IN DCLTFPRJHDR )
                        COMPUTE W0001-AMT-07 =
                              ( P-ACTP01-A    IN DCLTFPRJHDR
                              + P-ACTP02-A    IN DCLTFPRJHDR
                              + P-ACTP03-A    IN DCLTFPRJHDR )
                        IF  DISPLAY-NORMAL-FCSTS
                            COMPUTE W0001-AMT-08 =
                                  ( F-FCSP03-A    IN DCLTFFCSHDR )
                            COMPUTE W0001-AMT-09 =
                                  ( F-FCSP04-A    IN DCLTFFCSHDR )
                            COMPUTE W0001-AMT-10 =
                                  ( F-FCSP05-A    IN DCLTFFCSHDR )
                            COMPUTE W0001-AMT-11 =
                                  ( F-FCSP03-A    IN DCLTFFCSHDR
                                  + F-FCSP04-A    IN DCLTFFCSHDR
                                  + F-FCSP05-A    IN DCLTFFCSHDR )
                        ELSE
                            COMPUTE W0001-AMT-08 =
                                  ( F-FCSP03-A    IN DCLTFFCSHDR
                                  + F-FCSP04-A    IN DCLTFFCSHDR
                                  + F-FCSP05-A    IN DCLTFFCSHDR )
                            COMPUTE W0001-AMT-09 =
                                  ( F-FCSQ02-A    IN DCLTFFCSHDR )
                            COMPUTE W0001-AMT-10 =
                                  ( F-FCSQ03-A    IN DCLTFFCSHDR )
                            COMPUTE W0001-AMT-11 =
                                  ( P-ACTP01-A    IN DCLTFPRJHDR
                                  + P-ACTP02-A    IN DCLTFPRJHDR
                                  + P-ACTP03-A    IN DCLTFPRJHDR
                                  + F-FCSP03-A    IN DCLTFFCSHDR
                                  + F-FCSP04-A    IN DCLTFFCSHDR
                                  + F-FCSP05-A    IN DCLTFFCSHDR
                                  + F-FCSQ02-A    IN DCLTFFCSHDR
                                  + F-FCSQ03-A    IN DCLTFFCSHDR )
                        END-IF
                   WHEN 04
                        COMPUTE W0001-AMT-04 =
                              ( P-ACTQ01-A    IN DCLTFPRJHDR )
                        COMPUTE W0001-AMT-05 =
                              ( P-ACTP01-A    IN DCLTFPRJHDR )
                        COMPUTE W0001-AMT-06 =
                              ( F-FCSP00-A    IN DCLTFFCSHDR )
                        COMPUTE W0001-AMT-07 =
                              ( F-FCSP01-A    IN DCLTFFCSHDR )
                        COMPUTE W0001-AMT-08 =
                              ( F-FCSP02-A    IN DCLTFFCSHDR )
                        COMPUTE W0001-AMT-09 =
                              ( P-ACTP01-A    IN DCLTFPRJHDR
                              + F-FCSP01-A    IN DCLTFFCSHDR
                              + F-FCSP02-A    IN DCLTFFCSHDR )
                        COMPUTE W0001-AMT-10 =
                              ( F-FCSP03-A    IN DCLTFFCSHDR )
                        COMPUTE W0001-AMT-11 =
                              ( F-FCSQ02-A    IN DCLTFFCSHDR )
                   WHEN 05
                        COMPUTE W0001-AMT-04 =
                              ( P-ACTQ01-A    IN DCLTFPRJHDR )
                        COMPUTE W0001-AMT-05 =
                              ( P-ACTP01-A    IN DCLTFPRJHDR )
                        COMPUTE W0001-AMT-06 =
                              ( P-ACTP02-A    IN DCLTFPRJHDR )
                        COMPUTE W0001-AMT-07 =
                              ( F-FCSP01-A    IN DCLTFFCSHDR )
                        COMPUTE W0001-AMT-08 =
                              ( F-FCSP02-A    IN DCLTFFCSHDR )
                        COMPUTE W0001-AMT-09 =
                              ( P-ACTP01-A    IN DCLTFPRJHDR
                              + P-ACTP02-A    IN DCLTFPRJHDR
                              + F-FCSP02-A    IN DCLTFFCSHDR )
                        COMPUTE W0001-AMT-10 =
                              ( F-FCSP03-A    IN DCLTFFCSHDR )
                        COMPUTE W0001-AMT-11 =
                              ( F-FCSQ02-A    IN DCLTFFCSHDR )
                   WHEN 06
                        COMPUTE W0001-AMT-04 =
                              ( P-ACTP03-A    IN DCLTFPRJHDR )
                        COMPUTE W0001-AMT-05 =
                              ( F-FCSP02-A    IN DCLTFFCSHDR )
                        COMPUTE W0001-AMT-06 =
                              ( P-ACTP01-A    IN DCLTFPRJHDR
                              + P-ACTP02-A    IN DCLTFPRJHDR
                              + P-ACTP03-A    IN DCLTFPRJHDR )
                        COMPUTE W0001-AMT-07 =
                              ( P-ACTP01-A    IN DCLTFPRJHDR
                              + P-ACTP02-A    IN DCLTFPRJHDR
                              + P-ACTP03-A    IN DCLTFPRJHDR )
                        IF  DISPLAY-NORMAL-FCSTS
                            COMPUTE W0001-AMT-08 =
                                  ( F-FCSP03-A    IN DCLTFFCSHDR )
                            COMPUTE W0001-AMT-09 =
                                  ( F-FCSP04-A    IN DCLTFFCSHDR )
                            COMPUTE W0001-AMT-10 =
                                  ( F-FCSP05-A    IN DCLTFFCSHDR )
                            COMPUTE W0001-AMT-11 =
                                  ( F-FCSP03-A    IN DCLTFFCSHDR
                                  + F-FCSP04-A    IN DCLTFFCSHDR
                                  + F-FCSP05-A    IN DCLTFFCSHDR )
                        ELSE
                            COMPUTE W0001-AMT-08 =
                                  ( F-FCSP03-A    IN DCLTFFCSHDR
                                  + F-FCSP04-A    IN DCLTFFCSHDR
                                  + F-FCSP05-A    IN DCLTFFCSHDR )
                            COMPUTE W0001-AMT-09 =
                                  ( F-FCSQ02-A    IN DCLTFFCSHDR )
                            COMPUTE W0001-AMT-10 =
                                  ( P-ACTQ01-A    IN DCLTFPRJHDR
                                  + P-ACTP01-A    IN DCLTFPRJHDR
                                  + P-ACTP02-A    IN DCLTFPRJHDR
                                  + P-ACTP03-A    IN DCLTFPRJHDR
                                  + F-FCSP03-A    IN DCLTFFCSHDR
                                  + F-FCSP04-A    IN DCLTFFCSHDR
                                  + F-FCSP05-A    IN DCLTFFCSHDR
                                  + F-FCSQ02-A    IN DCLTFFCSHDR )
                        END-IF
                   WHEN 07
                        COMPUTE W0001-AMT-04 =
                              ( P-ACTP06-A    IN DCLTFFCSHST
                              + P-ACTP05-A    IN DCLTFFCSHST
                              + P-ACTP04-A    IN DCLTFFCSHST )
                        COMPUTE W0001-AMT-05 =
                              ( P-ACTP03-A    IN DCLTFFCSHST
                              + P-ACTP02-A    IN DCLTFFCSHST
                              + P-ACTP01-A    IN DCLTFFCSHST )
                        COMPUTE W0001-AMT-06 =
                              ( P-ACTP01-A    IN DCLTFPRJHDR )
                        COMPUTE W0001-AMT-07 =
                              ( F-FCSP00-A    IN DCLTFFCSHDR )
                        COMPUTE W0001-AMT-08 =
                              ( F-FCSP01-A    IN DCLTFFCSHDR )
                        COMPUTE W0001-AMT-09 =
                              ( F-FCSP02-A    IN DCLTFFCSHDR )
                        COMPUTE W0001-AMT-10 =
                              ( P-ACTP01-A    IN DCLTFPRJHDR
                              + F-FCSP01-A    IN DCLTFFCSHDR
                              + F-FCSP02-A    IN DCLTFFCSHDR )
                        COMPUTE W0001-AMT-11 =
                              ( F-FCSP03-A    IN DCLTFFCSHDR )
                   WHEN 08
                        COMPUTE W0001-AMT-04 =
                              ( P-ACTP06-A    IN DCLTFFCSHST
                              + P-ACTP05-A    IN DCLTFFCSHST
                              + P-ACTP04-A    IN DCLTFFCSHST )
                        COMPUTE W0001-AMT-05 =
                              ( P-ACTP03-A    IN DCLTFFCSHST
                              + P-ACTP02-A    IN DCLTFFCSHST
                              + P-ACTP01-A    IN DCLTFFCSHST )
                        COMPUTE W0001-AMT-06 =
                              ( P-ACTP01-A    IN DCLTFPRJHDR )
                        COMPUTE W0001-AMT-07 =
                              ( P-ACTP02-A    IN DCLTFPRJHDR )
                        COMPUTE W0001-AMT-08 =
                              ( F-FCSP01-A    IN DCLTFFCSHDR )
                        COMPUTE W0001-AMT-09 =
                              ( F-FCSP02-A    IN DCLTFFCSHDR )
                        COMPUTE W0001-AMT-10 =
                              ( P-ACTP01-A    IN DCLTFPRJHDR
                              + P-ACTP02-A    IN DCLTFPRJHDR
                              + F-FCSP02-A    IN DCLTFFCSHDR )
                        COMPUTE W0001-AMT-11 =
                              ( F-FCSP03-A    IN DCLTFFCSHDR )
                   WHEN 09
                        COMPUTE W0001-AMT-04 =
                              ( P-ACTP03-A    IN DCLTFPRJHDR )
                        COMPUTE W0001-AMT-05 =
                              ( F-FCSP02-A    IN DCLTFFCSHDR )
                        COMPUTE W0001-AMT-06 =
                              ( P-ACTP01-A    IN DCLTFPRJHDR
                              + P-ACTP02-A    IN DCLTFPRJHDR
                              + P-ACTP03-A    IN DCLTFPRJHDR )
                        COMPUTE W0001-AMT-07 =
                              ( P-ACTP01-A    IN DCLTFPRJHDR
                              + P-ACTP02-A    IN DCLTFPRJHDR
                              + P-ACTP03-A    IN DCLTFPRJHDR )
                        IF  DISPLAY-NORMAL-FCSTS
                            COMPUTE W0001-AMT-08 =
                                  ( F-FCSP03-A    IN DCLTFFCSHDR )
                            COMPUTE W0001-AMT-09 =
                                  ( F-FCSP04-A    IN DCLTFFCSHDR )
                            COMPUTE W0001-AMT-10 =
                                  ( F-FCSP05-A    IN DCLTFFCSHDR )
                            COMPUTE W0001-AMT-11 =
                                  ( F-FCSP03-A    IN DCLTFFCSHDR
                                  + F-FCSP04-A    IN DCLTFFCSHDR
                                  + F-FCSP05-A    IN DCLTFFCSHDR )
                        ELSE
                            COMPUTE W0001-AMT-08 =
                                  ( F-FCSP03-A    IN DCLTFFCSHDR
                                  + F-FCSP04-A    IN DCLTFFCSHDR
                                  + F-FCSP05-A    IN DCLTFFCSHDR )
                            COMPUTE W0001-AMT-09 =
                                  ( P-ACTP06-A    IN DCLTFFCSHST
                                  + P-ACTP05-A    IN DCLTFFCSHST
                                  + P-ACTP04-A    IN DCLTFFCSHST
                                  + P-ACTP03-A    IN DCLTFFCSHST
                                  + P-ACTP02-A    IN DCLTFFCSHST
                                  + P-ACTP01-A    IN DCLTFFCSHST
                                  + P-ACTP01-A    IN DCLTFPRJHDR
                                  + P-ACTP02-A    IN DCLTFPRJHDR
                                  + P-ACTP03-A    IN DCLTFPRJHDR
                                  + F-FCSP03-A    IN DCLTFFCSHDR
                                  + F-FCSP04-A    IN DCLTFFCSHDR
                                  + F-FCSP05-A    IN DCLTFFCSHDR )
                            COMPUTE W0001-AMT-10 =
                                  ( F-FCSQ02-A    IN DCLTFFCSHDR )
                        END-IF
                   WHEN 10
                        COMPUTE W0001-AMT-04 =
                              ( P-ACTP09-A    IN DCLTFFCSHST
                              + P-ACTP08-A    IN DCLTFFCSHST
                              + P-ACTP07-A    IN DCLTFFCSHST
                              + P-ACTP06-A    IN DCLTFFCSHST
                              + P-ACTP05-A    IN DCLTFFCSHST
                              + P-ACTP04-A    IN DCLTFFCSHST )
                        COMPUTE W0001-AMT-05 =
                              ( P-ACTP03-A    IN DCLTFFCSHST
                              + P-ACTP02-A    IN DCLTFFCSHST
                              + P-ACTP01-A    IN DCLTFFCSHST )
                        COMPUTE W0001-AMT-06 =
                              ( P-ACTP01-A    IN DCLTFPRJHDR )
                        COMPUTE W0001-AMT-07 =
                              ( F-FCSP00-A    IN DCLTFFCSHDR )
                        COMPUTE W0001-AMT-08 =
                              ( F-FCSP01-A    IN DCLTFFCSHDR )
                        COMPUTE W0001-AMT-09 =
                              ( F-FCSP02-A    IN DCLTFFCSHDR )
                        COMPUTE W0001-AMT-10 =
                              ( P-ACTP01-A    IN DCLTFPRJHDR
                              + F-FCSP01-A    IN DCLTFFCSHDR
                              + F-FCSP02-A    IN DCLTFFCSHDR )
                        COMPUTE W0001-AMT-11 =
                              ( F-FCSQ02-A    IN DCLTFFCSHDR )
                   WHEN 11
                        COMPUTE W0001-AMT-04 =
                              ( P-ACTP09-A    IN DCLTFFCSHST
                              + P-ACTP08-A    IN DCLTFFCSHST
                              + P-ACTP07-A    IN DCLTFFCSHST
                              + P-ACTP06-A    IN DCLTFFCSHST
                              + P-ACTP05-A    IN DCLTFFCSHST
                              + P-ACTP04-A    IN DCLTFFCSHST )
                        COMPUTE W0001-AMT-05 =
                              ( P-ACTP03-A    IN DCLTFFCSHST
                              + P-ACTP02-A    IN DCLTFFCSHST
                              + P-ACTP01-A    IN DCLTFFCSHST )
                        COMPUTE W0001-AMT-06 =
                              ( P-ACTP01-A    IN DCLTFPRJHDR )
                        COMPUTE W0001-AMT-07 =
                              ( P-ACTP02-A    IN DCLTFPRJHDR )
                        COMPUTE W0001-AMT-08 =
                              ( F-FCSP01-A    IN DCLTFFCSHDR )
                        COMPUTE W0001-AMT-09 =
                              ( F-FCSP02-A    IN DCLTFFCSHDR )
                        COMPUTE W0001-AMT-10 =
                              ( P-ACTP01-A    IN DCLTFPRJHDR
                              + P-ACTP02-A    IN DCLTFPRJHDR
                              + F-FCSP02-A    IN DCLTFFCSHDR )
                        COMPUTE W0001-AMT-11 =
                              ( F-FCSP03-A    IN DCLTFFCSHDR )
                   WHEN 12
                        COMPUTE W0001-AMT-04 =
                              ( P-ACTP03-A    IN DCLTFPRJHDR )
                        COMPUTE W0001-AMT-05 =
                              ( F-FCSP02-A    IN DCLTFFCSHDR )
                        COMPUTE W0001-AMT-06 =
                              ( P-ACTP01-A    IN DCLTFPRJHDR
                              + P-ACTP02-A    IN DCLTFPRJHDR
                              + P-ACTP03-A    IN DCLTFPRJHDR )
                        COMPUTE W0001-AMT-07 =
                              ( P-ACTP01-A    IN DCLTFPRJHDR
                              + P-ACTP02-A    IN DCLTFPRJHDR
                              + P-ACTP03-A    IN DCLTFPRJHDR )
                        IF  DISPLAY-NORMAL-FCSTS
                            COMPUTE W0001-AMT-08 =
                                  ( F-FCSP03-A    IN DCLTFFCSHDR )
                            COMPUTE W0001-AMT-09 =
                                  ( F-FCSP04-A    IN DCLTFFCSHDR )
                            COMPUTE W0001-AMT-10 =
                                  ( F-FCSP05-A    IN DCLTFFCSHDR )
                            COMPUTE W0001-AMT-11 =
                                  ( F-FCSP03-A    IN DCLTFFCSHDR
                                  + F-FCSP04-A    IN DCLTFFCSHDR
                                  + F-FCSP05-A    IN DCLTFFCSHDR )
                        ELSE
                            COMPUTE W0001-AMT-08 =
                                  ( F-FCSP03-A    IN DCLTFFCSHDR
                                  + F-FCSP04-A    IN DCLTFFCSHDR
                                  + F-FCSP05-A    IN DCLTFFCSHDR )
                            COMPUTE W0001-AMT-09 =
                                  ( F-FCSQ02-A    IN DCLTFFCSHDR )
                            COMPUTE W0001-AMT-10 =
                                  ( F-FCSQ03-A    IN DCLTFFCSHDR )
                            COMPUTE W0001-AMT-11 =
                                  ( F-FCSQ04-A    IN DCLTFFCSHDR )
                        END-IF
               END-EVALUATE
           END-IF.

           EJECT
       B380-MOVE-FIELDS-TO-SCREEN.

           MOVE 'B380'      TO CA-PARAGRAPH-NBR.

           IF  W0001-AMT-01  IS NEGATIVE
               MOVE W0001-AMT-01
                 TO W0001-OUTPUT-DISPLAY2
               MOVE W0001-OUTPUT-DISPLAY2
                 TO M-AMT-AI (W0001-IX, 01)
           ELSE
               MOVE W0001-AMT-01
                 TO W0001-OUTPUT-DISPLAY
               MOVE W0001-OUTPUT-DISPLAY
                 TO M-AMT-AI (W0001-IX, 01)
           END-IF.

           IF  W0001-AMT-02  IS NEGATIVE
               MOVE W0001-AMT-02
                 TO W0001-OUTPUT-DISPLAY2
               MOVE W0001-OUTPUT-DISPLAY2
                 TO M-AMT-AI (W0001-IX, 02)
           ELSE
               MOVE W0001-AMT-02
                 TO W0001-OUTPUT-DISPLAY
               MOVE W0001-OUTPUT-DISPLAY
                 TO M-AMT-AI (W0001-IX, 02)
           END-IF.

           IF  W0001-AMT-03  IS NEGATIVE
               MOVE W0001-AMT-03
                 TO W0001-OUTPUT-DISPLAY2
               MOVE W0001-OUTPUT-DISPLAY2
                 TO M-AMT-AI (W0001-IX, 03)
           ELSE
               MOVE W0001-AMT-03
                 TO W0001-OUTPUT-DISPLAY
               MOVE W0001-OUTPUT-DISPLAY
                 TO M-AMT-AI (W0001-IX, 03)
           END-IF.

           IF  W0001-AMT-04  IS NEGATIVE
               MOVE W0001-AMT-04
                 TO W0001-OUTPUT-DISPLAY2
               MOVE W0001-OUTPUT-DISPLAY2
                 TO M-AMT-AI (W0001-IX, 04)
           ELSE
               MOVE W0001-AMT-04
                 TO W0001-OUTPUT-DISPLAY
               MOVE W0001-OUTPUT-DISPLAY
                 TO M-AMT-AI (W0001-IX, 04)
           END-IF.

           IF  W0001-AMT-05  IS NEGATIVE
               MOVE W0001-AMT-05
                 TO W0001-OUTPUT-DISPLAY2
               MOVE W0001-OUTPUT-DISPLAY2
                 TO M-AMT-AI (W0001-IX, 05)
           ELSE
               MOVE W0001-AMT-05
                 TO W0001-OUTPUT-DISPLAY
               MOVE W0001-OUTPUT-DISPLAY
                 TO M-AMT-AI (W0001-IX, 05)
           END-IF.

           IF  W0001-AMT-06  IS NEGATIVE
               MOVE W0001-AMT-06
                 TO W0001-OUTPUT-DISPLAY2
               MOVE W0001-OUTPUT-DISPLAY2
                 TO M-AMT-AI (W0001-IX, 06)
           ELSE
               MOVE W0001-AMT-06
                 TO W0001-OUTPUT-DISPLAY
               MOVE W0001-OUTPUT-DISPLAY
                 TO M-AMT-AI (W0001-IX, 06)
           END-IF.

           IF  W0001-AMT-07  IS NEGATIVE
               MOVE W0001-AMT-07
                 TO W0001-OUTPUT-DISPLAY2
               MOVE W0001-OUTPUT-DISPLAY2
                 TO M-AMT-AI (W0001-IX, 07)
           ELSE
               MOVE W0001-AMT-07
                 TO W0001-OUTPUT-DISPLAY
               MOVE W0001-OUTPUT-DISPLAY
                 TO M-AMT-AI (W0001-IX, 07)
           END-IF.

           IF  W0001-AMT-08  IS NEGATIVE
               MOVE W0001-AMT-08
                 TO W0001-OUTPUT-DISPLAY2
               MOVE W0001-OUTPUT-DISPLAY2
                 TO M-AMT-AI (W0001-IX, 08)
           ELSE
               MOVE W0001-AMT-08
                 TO W0001-OUTPUT-DISPLAY
               MOVE W0001-OUTPUT-DISPLAY
                 TO M-AMT-AI (W0001-IX, 08)
           END-IF.

           IF  W0001-AMT-09  IS NEGATIVE
               MOVE W0001-AMT-09
                 TO W0001-OUTPUT-DISPLAY2
               MOVE W0001-OUTPUT-DISPLAY2
                 TO M-AMT-AI (W0001-IX, 09)
           ELSE
               MOVE W0001-AMT-09
                 TO W0001-OUTPUT-DISPLAY
               MOVE W0001-OUTPUT-DISPLAY
                 TO M-AMT-AI (W0001-IX, 09)
           END-IF.

           IF  W0001-AMT-10  IS NEGATIVE
               MOVE W0001-AMT-10
                 TO W0001-OUTPUT-DISPLAY2
               MOVE W0001-OUTPUT-DISPLAY2
                 TO M-AMT-AI (W0001-IX, 10)
           ELSE
               MOVE W0001-AMT-10
                 TO W0001-OUTPUT-DISPLAY
               MOVE W0001-OUTPUT-DISPLAY
                 TO M-AMT-AI (W0001-IX, 10)
           END-IF.

           IF  W0001-AMT-11  IS NEGATIVE
               MOVE W0001-AMT-11
                 TO W0001-OUTPUT-DISPLAY2
               MOVE W0001-OUTPUT-DISPLAY2
                 TO M-AMT-AI (W0001-IX, 11)
           ELSE
               MOVE W0001-AMT-11
                 TO W0001-OUTPUT-DISPLAY
               MOVE W0001-OUTPUT-DISPLAY
                 TO M-AMT-AI (W0001-IX, 11)
           END-IF.

           EJECT
       B400-MOVE-BLANKS-TO-SCREEN.

           MOVE 'B400'      TO CA-PARAGRAPH-NBR.

           MOVE SPACES TO
                          M-PRJ-NI       (W0001-IX)
                          M-AMT-AI       (W0001-IX, 1)
                          M-AMT-AI       (W0001-IX, 2)
                          M-AMT-AI       (W0001-IX, 3)
                          M-AMT-AI       (W0001-IX, 4)
                          M-AMT-AI       (W0001-IX, 5)
                          M-AMT-AI       (W0001-IX, 6)
                          M-AMT-AI       (W0001-IX, 7)
                          M-AMT-AI       (W0001-IX, 8)
                          M-AMT-AI       (W0001-IX, 9).

           MOVE SPACES TO
                          WS-M-F-PRJ-N    (W0001-IX)
                          WS-M-F-PRJ-X    (W0001-IX)
                          WS-M-F-EXPTYP-C (W0001-IX)
                          WS-M-F-SUBTYP-C (W0001-IX).

           MOVE ZEROES TO
                          WS-M-F-FCSID-N (W0001-IX).

           EJECT
       C000-PROCESS-PF11-CURSOR.

           MOVE 'C000'      TO CA-PARAGRAPH-NBR.

           PERFORM B100-VALIDATE-KEYS.

           IF  NO-ERRORS
               PERFORM C100-GET-TFPRJHDR
               IF  W0001-IX >= 1 AND < W0001-SCREEN-LINE-LIMIT
                   PERFORM UNTIL W0001-IX < 1
                       PERFORM B400-MOVE-BLANKS-TO-SCREEN
                       SUBTRACT +1 FROM W0001-IX
                   END-PERFORM
               END-IF
           ELSE
               PERFORM VARYING W0001-IX FROM 1 BY 1
                 UNTIL W0001-IX > W0001-SCREEN-LINE-LIMIT
                   PERFORM B400-MOVE-BLANKS-TO-SCREEN
               END-PERFORM
           END-IF.

           IF  NO-ERRORS
               MOVE -1            TO M-DPT-CL
               MOVE W9999-MSG-049 TO M-MSG-24I
           END-IF.

           EJECT
       C100-GET-TFPRJHDR.

           MOVE 'C100'      TO CA-PARAGRAPH-NBR.

           MOVE CA-OP-RGN       TO F-MKTCRGN-C   IN DCLTFPRODLN.
           MOVE M-DPT-CI        TO F-DPT-C       IN DCLTFPRJHDR.
           MOVE M-SUBDPT-CI     TO F-SUBDPT-C    IN DCLTFPRJHDR.
           MOVE M-EXPTYP-CI     TO F-EXPTYP-C    IN DCLTFPRJHDR.
           MOVE M-EXPSUBTYP-CI  TO F-EXPSUBTYP-C IN DCLTFPRJHDR.

           MOVE WS-M-MIN-FCSID-N   TO F-FCSID-N     IN DCLTFFCSHDR
           MOVE WS-M-MIN-EXPTYP-C  TO F-EXPTYP-C    IN DCLTFFCSHDR
           MOVE WS-M-MIN-SUBTYP-C  TO F-EXPSUBTYP-C IN DCLTFFCSHDR

           EXEC SQL
                OPEN CSR_2
           END-EXEC.

           SET OPEN-O-CLOSE-CURSOR TO TRUE.
           PERFORM Z900-DB2-CHECK.

           MOVE W0001-SCREEN-LINE-LIMIT TO W0001-IX.

           PERFORM UNTIL SQLCODE NOT EQUAL ZERO
                      OR W0001-IX < 1
               EXEC SQL
                 FETCH CSR_2
                  INTO :W0001-ORDER-BY
                     , :DCLTFFCSHDR.F-EXPTYP-C
                     , :DCLTFFCSHDR.F-EXPSUBTYP-C
                     , :DCLTFPRJHDR.F-DPT-C
                     , :DCLTFFCSHDR.F-SUBDPT-C
                     , :DCLTFFCSHDR.F-FCSID-N
                     , :DCLTFPRJHDR.F-PRJ-X
                     , :W0004-F-FCSP00-A
                     , :W0004-F-FCSP01-A
                     , :W0004-F-FCSP02-A
                     , :W0004-F-FCSP03-A
                     , :W0004-F-FCSP04-A
                     , :W0004-F-FCSP05-A
                     , :W0004-F-FCSQ02-A
                     , :W0004-F-FCSQ03-A
                     , :W0004-F-FCSQ04-A
                     , :W0004-F-FCSQ05-A
               END-EXEC

               PERFORM Z900-DB2-CHECK

               IF  DB2-NORMAL
                   MOVE M-DPT-CI          TO WS-M-DPT-CI
                                             CA-CURR-PROD-LN
                   MOVE M-SUBDPT-CI       TO WS-M-SUBDPT-CI
                                             CA-CURR-SUBPROD-LN
                   MOVE M-EXPTYP-CI       TO WS-M-EXPTYP-CI
                                             CA-CURR-EXPTYP-C
                   MOVE M-EXPSUBTYP-CI    TO WS-M-EXPSUBTYP-CI
                                             CA-CURR-EXPSUBTYP-C

                   MOVE W0004-F-FCSP00-A  TO F-FCSP00-A  IN DCLTFFCSHDR
                   MOVE W0004-F-FCSP01-A  TO F-FCSP01-A  IN DCLTFFCSHDR
                   MOVE W0004-F-FCSP02-A  TO F-FCSP02-A  IN DCLTFFCSHDR
                   MOVE W0004-F-FCSP03-A  TO F-FCSP03-A  IN DCLTFFCSHDR
                   MOVE W0004-F-FCSP04-A  TO F-FCSP04-A  IN DCLTFFCSHDR
                   MOVE W0004-F-FCSP05-A  TO F-FCSP05-A  IN DCLTFFCSHDR
                   MOVE W0004-F-FCSQ02-A  TO F-FCSQ02-A  IN DCLTFFCSHDR
                   MOVE W0004-F-FCSQ03-A  TO F-FCSQ03-A  IN DCLTFFCSHDR
                   MOVE W0004-F-FCSQ04-A  TO F-FCSQ04-A  IN DCLTFFCSHDR
                   MOVE W0004-F-FCSQ05-A  TO F-FCSQ05-A  IN DCLTFFCSHDR

                   IF  F-FCSID-N IN DCLTFFCSHDR < 0
                       PERFORM B310-GET-TFPRJHDR-TOTALS
                       PERFORM B320-GET-TFFCSHST-TOTALS
                   ELSE
                       PERFORM B330-GET-TFPRJHDR-INFO
                       PERFORM B340-GET-TFFCSHST-INFO
                   END-IF

                   PERFORM B350-MOVE-DB-TO-MAP-SAVE

                   PERFORM B360-BUILD-PROJECT-DESC

                   PERFORM B370-CALCULATE-FCST-AMT

                   PERFORM B380-MOVE-FIELDS-TO-SCREEN

                   IF  W0001-IX = W0001-SCREEN-LINE-LIMIT
                       MOVE F-FCSID-N  IN DCLTFFCSHDR
                         TO WS-M-MAX-FCSID-N
                       MOVE F-EXPTYP-C    IN DCLTFFCSHDR
                         TO WS-M-MAX-EXPTYP-C
                       MOVE F-EXPSUBTYP-C IN DCLTFFCSHDR
                         TO WS-M-MAX-SUBTYP-C
                   END-IF

                   SUBTRACT +1 FROM W0001-IX
               END-IF

           END-PERFORM.

           IF  DB2-END-OF-FILE
               MOVE W9999-MSG-005              TO M-MSG-24I
               MOVE -1                         TO M-DPT-CL
               IF  EIBAID = DFHPF11
               OR  EIBAID = DFHENTER
                   SET ERRORS TO TRUE
               END-IF
           END-IF.

           MOVE F-FCSID-N     IN DCLTFFCSHDR TO WS-M-MIN-FCSID-N
           MOVE F-EXPTYP-C    IN DCLTFFCSHDR TO WS-M-MIN-EXPTYP-C
           MOVE F-EXPSUBTYP-C IN DCLTFFCSHDR TO WS-M-MIN-SUBTYP-C.

           EXEC SQL
                CLOSE CSR_2
           END-EXEC.

           SET OPEN-O-CLOSE-CURSOR TO TRUE.
           PERFORM Z900-DB2-CHECK.

           EJECT
       D000-UPDATE-FORECASTS.

           MOVE 'D000'      TO CA-PARAGRAPH-NBR.

           SET W0001-NO-LINES-UPDATED  TO TRUE.

           IF  NO-ERRORS
               PERFORM D200-VALIDATE-FCST-AMOUNTS
           END-IF.

           IF  NO-ERRORS
               PERFORM D300-UPDATE-FORECASTS
           END-IF.

           IF  NO-ERRORS
               CONTINUE
               IF  W0001-LINES-UPDATED
                   PERFORM B130-CREATE-AUDIT-TRAIL
               END-IF
           ELSE
               PERFORM Y600-ROLLBACK
               SET ERRORS            TO TRUE
           END-IF.

           EJECT
       D100-SECURITY-CHECK.

           MOVE 'D100'      TO CA-PARAGRAPH-NBR.

           IF  CA-SYSTEM-ADMINISTRATOR
               CONTINUE
           ELSE
               MOVE CA-OP-RGN   TO F-MKTCRGN-C IN DCLTFFCSHDR
               MOVE CA-OP-ID    TO A-UID-C     IN DCLTFFCSHDR
               MOVE M-DPT-CI    TO F-DPT-C     IN DCLTFFCSHDR

               EXEC SQL
                    SELECT A_SEQ_N
                      INTO :DCLTFSECPRD.A-SEQ-N
                      FROM D108.TFSECPRD
                     WHERE A_UID_C     = :DCLTFFCSHDR.A-UID-C
                       AND F_MKTCRGN_C = :DCLTFFCSHDR.F-MKTCRGN-C
                       AND F_DPT_C     = :DCLTFFCSHDR.F-DPT-C
               END-EXEC

               SET MULTIPLE-ROWS TO TRUE
               PERFORM Z900-DB2-CHECK

               IF  DB2-NORMAL
               OR  DB2-MULTIPLE-ROWS
                   CONTINUE
               ELSE
                   SET ERRORS          TO TRUE
                   MOVE -1             TO M-DPT-CL
                   MOVE W9999-MSG-069  TO M-MSG-24I
               END-IF
           END-IF.

           EJECT
       D200-VALIDATE-FCST-AMOUNTS.

           MOVE 'D200'      TO CA-PARAGRAPH-NBR.

           PERFORM VARYING W0001-X FROM 1 BY 1
             UNTIL W0001-X > W0001-SCREEN-LINE-LIMIT
                   PERFORM D210-VALIDATE-AMOUNTS
           END-PERFORM.

           EJECT
       D210-VALIDATE-AMOUNTS.

           MOVE 'D210'      TO CA-PARAGRAPH-NBR.

           EVALUATE CA-FISCAL-PERIOD
               WHEN 01
                    MOVE M-AMT-AI (W0001-X,  5)  TO W0001-AMT-CHAR
                    MOVE                     5   TO W0001-Y
                    PERFORM D211-VALIDATE-AMOUNT
                    MOVE W0001-AMT-NUM   TO WS-M-F-FCSP00-A (W0001-X)

                    MOVE M-AMT-AI (W0001-X,  6)  TO W0001-AMT-CHAR
                    MOVE                     6   TO W0001-Y
                    PERFORM D211-VALIDATE-AMOUNT
                    MOVE W0001-AMT-NUM   TO WS-M-F-FCSP01-A (W0001-X)

                    MOVE M-AMT-AI (W0001-X,  7)  TO W0001-AMT-CHAR
                    MOVE                     7   TO W0001-Y
                    PERFORM D211-VALIDATE-AMOUNT
                    MOVE W0001-AMT-NUM   TO WS-M-F-FCSP02-A (W0001-X)

                    MOVE M-AMT-AI (W0001-X,  9)  TO W0001-AMT-CHAR
                    MOVE                     9   TO W0001-Y
                    PERFORM D211-VALIDATE-AMOUNT
                    MOVE W0001-AMT-NUM   TO WS-M-F-FCSP03-A (W0001-X)

                    MOVE M-AMT-AI (W0001-X, 10)  TO W0001-AMT-CHAR
                    MOVE                    10   TO W0001-Y
                    PERFORM D211-VALIDATE-AMOUNT
                    MOVE W0001-AMT-NUM   TO WS-M-F-FCSQ02-A (W0001-X)

                    MOVE M-AMT-AI (W0001-X, 11)  TO W0001-AMT-CHAR
                    MOVE                    11   TO W0001-Y
                    PERFORM D211-VALIDATE-AMOUNT
                    MOVE W0001-AMT-NUM   TO WS-M-F-FCSQ03-A (W0001-X)

               WHEN 02
                    MOVE M-AMT-AI (W0001-X,  6)  TO W0001-AMT-CHAR
                    MOVE                     6   TO W0001-Y
                    PERFORM D211-VALIDATE-AMOUNT
                    MOVE W0001-AMT-NUM   TO WS-M-F-FCSP01-A (W0001-X)

                    MOVE M-AMT-AI (W0001-X,  7)  TO W0001-AMT-CHAR
                    MOVE                     7   TO W0001-Y
                    PERFORM D211-VALIDATE-AMOUNT
                    MOVE W0001-AMT-NUM   TO WS-M-F-FCSP02-A (W0001-X)

                    MOVE M-AMT-AI (W0001-X,  9)  TO W0001-AMT-CHAR
                    MOVE                     9   TO W0001-Y
                    PERFORM D211-VALIDATE-AMOUNT
                    MOVE W0001-AMT-NUM   TO WS-M-F-FCSP03-A (W0001-X)

                    MOVE M-AMT-AI (W0001-X, 10)  TO W0001-AMT-CHAR
                    MOVE                    10   TO W0001-Y
                    PERFORM D211-VALIDATE-AMOUNT
                    MOVE W0001-AMT-NUM   TO WS-M-F-FCSQ02-A (W0001-X)

                    MOVE M-AMT-AI (W0001-X, 11)  TO W0001-AMT-CHAR
                    MOVE                    11   TO W0001-Y
                    PERFORM D211-VALIDATE-AMOUNT
                    MOVE W0001-AMT-NUM   TO WS-M-F-FCSQ03-A (W0001-X)

               WHEN 03
                    IF  DISPLAY-NORMAL-FCSTS
                        MOVE M-AMT-AI (W0001-X,  5)  TO W0001-AMT-CHAR
                        MOVE                     5   TO W0001-Y
                        PERFORM D211-VALIDATE-AMOUNT
                        MOVE W0001-AMT-NUM TO WS-M-F-FCSP02-A (W0001-X)

                        MOVE M-AMT-AI (W0001-X,  8)  TO W0001-AMT-CHAR
                        MOVE                     8   TO W0001-Y
                        PERFORM D211-VALIDATE-AMOUNT
                        MOVE W0001-AMT-NUM TO WS-M-F-FCSP03-A (W0001-X)

                        MOVE M-AMT-AI (W0001-X,  9)  TO W0001-AMT-CHAR
                        MOVE                     9   TO W0001-Y
                        PERFORM D211-VALIDATE-AMOUNT
                        MOVE W0001-AMT-NUM TO WS-M-F-FCSP04-A (W0001-X)

                        MOVE M-AMT-AI (W0001-X, 10)  TO W0001-AMT-CHAR
                        MOVE                    10   TO W0001-Y
                        PERFORM D211-VALIDATE-AMOUNT
                        MOVE W0001-AMT-NUM TO WS-M-F-FCSP05-A (W0001-X)
                    ELSE
                        MOVE M-AMT-AI (W0001-X,  5)  TO W0001-AMT-CHAR
                        MOVE                     5   TO W0001-Y
                        PERFORM D211-VALIDATE-AMOUNT
                        MOVE W0001-AMT-NUM TO WS-M-F-FCSP02-A (W0001-X)

                        MOVE M-AMT-AI (W0001-X,  9)  TO W0001-AMT-CHAR
                        MOVE                     9   TO W0001-Y
                        PERFORM D211-VALIDATE-AMOUNT
                        MOVE W0001-AMT-NUM TO WS-M-F-FCSQ02-A (W0001-X)

                        MOVE M-AMT-AI (W0001-X, 10)  TO W0001-AMT-CHAR
                        MOVE                    10   TO W0001-Y
                        PERFORM D211-VALIDATE-AMOUNT
                        MOVE W0001-AMT-NUM TO WS-M-F-FCSQ03-A (W0001-X)
                    END-IF

               WHEN 04
                    MOVE M-AMT-AI (W0001-X,  6)  TO W0001-AMT-CHAR
                    MOVE                     6   TO W0001-Y
                    PERFORM D211-VALIDATE-AMOUNT
                    MOVE W0001-AMT-NUM   TO WS-M-F-FCSP00-A (W0001-X)

                    MOVE M-AMT-AI (W0001-X,  7)  TO W0001-AMT-CHAR
                    MOVE                     7   TO W0001-Y
                    PERFORM D211-VALIDATE-AMOUNT
                    MOVE W0001-AMT-NUM   TO WS-M-F-FCSP01-A (W0001-X)

                    MOVE M-AMT-AI (W0001-X,  8)  TO W0001-AMT-CHAR
                    MOVE                     8   TO W0001-Y
                    PERFORM D211-VALIDATE-AMOUNT
                    MOVE W0001-AMT-NUM   TO WS-M-F-FCSP02-A (W0001-X)

                    MOVE M-AMT-AI (W0001-X, 10)  TO W0001-AMT-CHAR
                    MOVE                    10   TO W0001-Y
                    PERFORM D211-VALIDATE-AMOUNT
                    MOVE W0001-AMT-NUM   TO WS-M-F-FCSP03-A (W0001-X)

                    MOVE M-AMT-AI (W0001-X, 11)  TO W0001-AMT-CHAR
                    MOVE                    11   TO W0001-Y
                    PERFORM D211-VALIDATE-AMOUNT
                    MOVE W0001-AMT-NUM   TO WS-M-F-FCSQ02-A (W0001-X)

               WHEN 05
                    MOVE M-AMT-AI (W0001-X,  7)  TO W0001-AMT-CHAR
                    MOVE                     7   TO W0001-Y
                    PERFORM D211-VALIDATE-AMOUNT
                    MOVE W0001-AMT-      TO WS-M-F-FCSP01-A (W0001-X)

                    MOVE M-AMT-AI (W0001-X,  8)  TO W0001-AMT-CHAR
                    MOVE                     8   TO W0001-Y
                    PERFORM D211-VALIDATE-AMOUNT
                    MOVE W0001-AMT-NUM   TO WS-M-F-FCSP02-A (W0001-X)

                    MOVE M-AMT-AI (W0001-X, 10)  TO W0001-AMT-CHAR
                    MOVE                    10   TO W0001-Y
                    PERFORM D211-VALIDATE-AMOUNT
                    MOVE W0001-AMT-NUM   TO WS-M-F-FCSP03-A (W0001-X)

                    MOVE M-AMT-AI (W0001-X, 11)  TO W0001-AMT-CHAR
                    MOVE                    11   TO W0001-Y
                    PERFORM D211-VALIDATE-AMOUNT
                    MOVE W0001-AMT-NUM   TO WS-M-F-FCSQ02-A (W0001-X)

               WHEN 06
                    IF  DISPLAY-NORMAL-FCSTS
                        MOVE M-AMT-AI (W0001-X,  5)  TO W0001-AMT-CHAR
                        MOVE                     5   TO W0001-Y
                        PERFORM D211-VALIDATE-AMOUNT
                        MOVE W0001-AMT-NUM TO WS-M-F-FCSP02-A (W0001-X)

                        MOVE M-AMT-AI (W0001-X,  8)  TO W0001-AMT-CHAR
                        MOVE                     8   TO W0001-Y
                        PERFORM D211-VALIDATE-AMOUNT
                        MOVE W0001-AMT-NUM TO WS-M-F-FCSP03-A (W0001-X)

                        MOVE M-AMT-AI (W0001-X,  9)  TO W0001-AMT-CHAR
                        MOVE                     9   TO W0001-Y
                        PERFORM D211-VALIDATE-AMOUNT
                        MOVE W0001-AMT-NUM TO WS-M-F-FCSP04-A (W0001-X)

                        MOVE M-AMT-AI (W0001-X, 10)  TO W0001-AMT-CHAR
                        MOVE                    10   TO W0001-Y
                        PERFORM D211-VALIDATE-AMOUNT
                        MOVE W0001-AMT-NUM TO WS-M-F-FCSP05-A (W0001-X)
                    ELSE
                        MOVE M-AMT-AI (W0001-X,  5)  TO W0001-AMT-CHAR
                        MOVE                     5   TO W0001-Y
                        PERFORM D211-VALIDATE-AMOUNT
                        MOVE W0001-AMT-NUM TO WS-M-F-FCSP02-A (W0001-X)

                        MOVE M-AMT-AI (W0001-X,  9)  TO W0001-AMT-CHAR
                        MOVE                     9   TO W0001-Y
                        PERFORM D211-VALIDATE-AMOUNT
                        MOVE W0001-AMT-NUM TO WS-M-F-FCSQ02-A (W0001-X)
                    END-IF
               WHEN 07
                    MOVE M-AMT-AI (W0001-X,  7)  TO W0001-AMT-CHAR
                    MOVE                     7   TO W0001-Y
                    PERFORM D211-VALIDATE-AMOUNT
                    MOVE W0001-AMT-NUM   TO WS-M-F-FCSP00-A (W0001-X)

                    MOVE M-AMT-AI (W0001-X,  8)  TO W0001-AMT-CHAR
                    MOVE                     8   TO W0001-Y
                    PERFORM D211-VALIDATE-AMOUNT
                    MOVE W0001-AMT-NUM   TO WS-M-F-FCSP01-A (W0001-X)

                    MOVE M-AMT-AI (W0001-X,  9)  TO W0001-AMT-CHAR
                    MOVE                     9   TO W0001-Y
                    PERFORM D211-VALIDATE-AMOUNT
                    MOVE W0001-AMT-NUM   TO WS-M-F-FCSP02-A (W0001-X)

                    MOVE M-AMT-AI (W0001-X, 11)  TO W0001-AMT-CHAR
                    MOVE                    11   TO W0001-Y
                    PERFORM D211-VALIDATE-AMOUNT
                    MOVE W0001-AMT-NUM   TO WS-M-F-FCSP03-A (W0001-X)

               WHEN 08
                    MOVE M-AMT-AI (W0001-X,  8)  TO W0001-AMT-CHAR
                    MOVE                     8   TO W0001-Y
                    PERFORM D211-VALIDATE-AMOUNT
                    MOVE W0001-AMT-NUM   TO WS-M-F-FCSP01-A (W0001-X)

                    MOVE M-AMT-AI (W0001-X,  9)  TO W0001-AMT-CHAR
                    MOVE                     9   TO W0001-Y
                    PERFORM D211-VALIDATE-AMOUNT
                    MOVE W0001-AMT-NUM   TO WS-M-F-FCSP02-A (W0001-X)

                    MOVE M-AMT-AI (W0001-X, 11)  TO W0001-AMT-CHAR
                    MOVE                    11   TO W0001-Y
                    PERFORM D211-VALIDATE-AMOUNT
                    MOVE W0001-AMT-NUM   TO WS-M-F-FCSP03-A (W0001-X)

               WHEN 09
                    IF  DISPLAY-NORMAL-FCSTS
                        MOVE M-AMT-AI (W0001-X,  5)  TO W0001-AMT-CHAR
                        MOVE                     5   TO W0001-Y
                        PERFORM D211-VALIDATE-AMOUNT
                        MOVE W0001-AMT-NUM TO WS-M-F-FCSP02-A (W0001-X)

                        MOVE M-AMT-AI (W0001-X,  8)  TO W0001-AMT-CHAR
                        MOVE                     8   TO W0001-Y
                        PERFORM D211-VALIDATE-AMOUNT
                        MOVE W0001-AMT-NUM TO WS-M-F-FCSP03-A (W0001-X)

                        MOVE M-AMT-AI (W0001-X,  9)  TO W0001-AMT-CHAR
                        MOVE                     9   TO W0001-Y
                        PERFORM D211-VALIDATE-AMOUNT
                        MOVE W0001-AMT-NUM TO WS-M-F-FCSP04-A (W0001-X)

                        MOVE M-AMT-AI (W0001-X, 10)  TO W0001-AMT-CHAR
                        MOVE                    10   TO W0001-Y
                        PERFORM D211-VALIDATE-AMOUNT
                        MOVE W0001-AMT-NUM TO WS-M-F-FCSP05-A (W0001-X)
                    ELSE
                        MOVE M-AMT-AI (W0001-X,  5)  TO W0001-AMT-CHAR
                        MOVE                     5   TO W0001-Y
                        PERFORM D211-VALIDATE-AMOUNT
                        MOVE W0001-AMT-NUM TO WS-M-F-FCSP02-A (W0001-X)

                        MOVE M-AMT-AI (W0001-X, 10)  TO W0001-AMT-CHAR
                        MOVE                    10   TO W0001-Y
                        PERFORM D211-VALIDATE-AMOUNT
                        MOVE W0001-AMT-NUM TO WS-M-F-FCSQ02-A (W0001-X)
                    END-IF

               WHEN 10
                    MOVE M-AMT-AI (W0001-X,  7)  TO W0001-AMT-CHAR
                    MOVE                     7   TO W0001-Y
                    PERFORM D211-VALIDATE-AMOUNT
                    MOVE W0001-AMT-NUM   TO WS-M-F-FCSP00-A (W0001-X)

                    MOVE M-AMT-AI (W0001-X,  8)  TO W0001-AMT-CHAR
                    MOVE                     8   TO W0001-Y
                    PERFORM D211-VALIDATE-AMOUNT
                    MOVE W0001-AMT-NUM   TO WS-M-F-FCSP01-A (W0001-X)

                    MOVE M-AMT-AI (W0001-X,  9)  TO W0001-AMT-CHAR
                    MOVE                     9   TO W0001-Y
                    PERFORM D211-VALIDATE-AMOUNT
                    MOVE W0001-AMT-NUM   TO WS-M-F-FCSP02-A (W0001-X)

                    MOVE M-AMT-AI (W0001-X, 11)  TO W0001-AMT-CHAR
                    MOVE                    11   TO W0001-Y
                    PERFORM D211-VALIDATE-AMOUNT
                    MOVE W0001-AMT-NUM   TO WS-M-F-FCSP03-A (W0001-X)

               WHEN 11
                    MOVE M-AMT-AI (W0001-X,  8)  TO W0001-AMT-CHAR
                    MOVE                     8   TO W0001-Y
                    PERFORM D211-VALIDATE-AMOUNT
                    MOVE W0001-AMT-NUM   TO WS-M-F-FCSP01-A (W0001-X)

                    MOVE M-AMT-AI (W0001-X,  9)  TO W0001-AMT-CHAR
                    MOVE                     9   TO W0001-Y
                    PERFORM D211-VALIDATE-AMOUNT
                    MOVE W0001-AMT-NUM   TO WS-M-F-FCSP02-A (W0001-X)

                    MOVE M-AMT-AI (W0001-X, 11)  TO W0001-AMT-CHAR
                    MOVE                    11   TO W0001-Y
                    PERFORM D211-VALIDATE-AMOUNT
                    MOVE W0001-AMT-NUM   TO WS-M-F-FCSP03-A (W0001-X)

               WHEN 12
                    IF  DISPLAY-NORMAL-FCSTS
                        MOVE M-AMT-AI (W0001-X,  5)  TO W0001-AMT-CHAR
                        MOVE                     5   TO W0001-Y
                        PERFORM D211-VALIDATE-AMOUNT
                        MOVE W0001-AMT-NUM TO WS-M-F-FCSP02-A (W0001-X)

                        MOVE M-AMT-AI (W0001-X,  8)  TO W0001-AMT-CHAR
                        MOVE                     8   TO W0001-Y
                        PERFORM D211-VALIDATE-AMOUNT
                        MOVE W0001-AMT-NUM TO WS-M-F-FCSP03-A (W0001-X)

                        MOVE M-AMT-AI (W0001-X,  9)  TO W0001-AMT-CHAR
                        MOVE                     9   TO W0001-Y
                        PERFORM D211-VALIDATE-AMOUNT
                        MOVE W0001-AMT-NUM TO WS-M-F-FCSP04-A (W0001-X)

                        MOVE M-AMT-AI (W0001-X, 10)  TO W0001-AMT-CHAR
                        MOVE                    10   TO W0001-Y
                        PERFORM D211-VALIDATE-AMOUNT
                        MOVE W0001-AMT-NUM TO WS-M-F-FCSP05-A (W0001-X)
                    ELSE
                        MOVE M-AMT-AI (W0001-X,  5)  TO W0001-AMT-CHAR
                        MOVE                     5   TO W0001-Y
                        PERFORM D211-VALIDATE-AMOUNT
                        MOVE W0001-AMT-NUM TO WS-M-F-FCSP02-A (W0001-X)

                        MOVE M-AMT-AI (W0001-X,  9)  TO W0001-AMT-CHAR
                        MOVE                     9   TO W0001-Y
                        PERFORM D211-VALIDATE-AMOUNT
                        MOVE W0001-AMT-NUM TO WS-M-F-FCSQ02-A (W0001-X)

                        MOVE M-AMT-AI (W0001-X, 10)  TO W0001-AMT-CHAR
                        MOVE                    10   TO W0001-Y
                        PERFORM D211-VALIDATE-AMOUNT
                        MOVE W0001-AMT-NUM TO WS-M-F-FCSQ03-A (W0001-X)

                        MOVE M-AMT-AI (W0001-X, 11)  TO W0001-AMT-CHAR
                        MOVE                    11   TO W0001-Y
                        PERFORM D211-VALIDATE-AMOUNT
                        MOVE W0001-AMT-NUM TO WS-M-F-FCSQ04-A (W0001-X)
                    END-IF
           END-EVALUATE.

           EJECT
       D211-VALIDATE-AMOUNT.

           MOVE 'D211'      TO CA-PARAGRAPH-NBR.

           IF  W0001-AMT-CHAR = SPACES
               MOVE ZEROES  TO W0001-AMT-CHAR
           END-IF.

           MOVE 0  TO  W0001-COUNTER.
           INSPECT W0001-AMT-CHAR
               TALLYING  W0001-COUNTER FOR ALL '-'
               REPLACING ALL '-'  BY ' '.

           MOVE W0001-AMT-CHAR
             TO CON-ALPHA-INPUT-FIELD.
           MOVE 'D' TO CON-FIELD-TYPE.

           PERFORM B900-CONVERT-NUMERIC
              THRU B999-CONVERT-END.

           IF  CON-OK
              MOVE CON-NUMERIC-DECIMAL-FIELD
                TO W0001-AMT-NUM
              IF  W0001-COUNTER > 0
                  COMPUTE W0001-AMT-NUM = W0001-AMT-NUM * -1
                   MOVE W0001-AMT-NUM
                     TO W0001-OUTPUT-DISPLAY2
                   MOVE W0001-OUTPUT-DISPLAY2
                     TO M-AMT-AI (W0001-X, W0001-Y)
               ELSE
                   MOVE W0001-AMT-NUM
                     TO W0001-OUTPUT-DISPLAY
                   MOVE W0001-OUTPUT-DISPLAY
                     TO M-AMT-AI (W0001-X, W0001-Y)
               END-IF
           ELSE
               MOVE +0             TO M-DPT-CL
               MOVE -1             TO M-AMT-AL (W0001-X, W0001-Y)
               MOVE W9999-MSG-051  TO M-MSG-24I
               SET ERRORS          TO TRUE
           END-IF.

           EJECT
       D300-UPDATE-FORECASTS.

           MOVE 'D300'      TO CA-PARAGRAPH-NBR.

           PERFORM VARYING W0001-X FROM 1 BY 1
             UNTIL W0001-X > W0001-SCREEN-LINE-LIMIT
                OR ERRORS
                IF  WS-M-F-FCSID-N  (W0001-X) > 0
                    IF  WS-M-F-FCSP00-A (W0001-X) =
                        WS-P-F-FCSP00-A (W0001-X)
                    AND WS-M-F-FCSP01-A (W0001-X) =
                        WS-P-F-FCSP01-A (W0001-X)
                    AND WS-M-F-FCSP02-A (W0001-X) =
                        WS-P-F-FCSP02-A (W0001-X)
                    AND WS-M-F-FCSP03-A (W0001-X) =
                        WS-P-F-FCSP03-A (W0001-X)
                    AND WS-M-F-FCSP04-A (W0001-X) =
                        WS-P-F-FCSP04-A (W0001-X)
                    AND WS-M-F-FCSP05-A (W0001-X) =
                        WS-P-F-FCSP05-A (W0001-X)
                    AND WS-M-F-FCSQ02-A (W0001-X) =
                        WS-P-F-FCSQ02-A (W0001-X)
                    AND WS-M-F-FCSQ03-A (W0001-X) =
                        WS-P-F-FCSQ03-A (W0001-X)
                    AND WS-M-F-FCSQ04-A (W0001-X) =
                        WS-P-F-FCSQ04-A (W0001-X)
                    AND WS-M-F-FCSQ05-A (W0001-X) =
                        WS-P-F-FCSQ05-A (W0001-X)
                        CONTINUE
                    ELSE
                        PERFORM D100-SECURITY-CHECK
                        IF  NO-ERRORS
                            PERFORM D310-UPDATE-TFFCSHDR
                            PERFORM D320-CREATE-AUDIT-TRAIL
                            SET W0001-LINES-UPDATED  TO TRUE
                        END-IF
                    END-IF
                END-IF
           END-PERFORM.

           EJECT
       D310-UPDATE-TFFCSHDR.

           MOVE 'D210'      TO CA-PARAGRAPH-NBR.

           MOVE CA-OP-RGN
             TO F-MKTCRGN-C     IN DCLTFPRODLN.
           MOVE WS-M-F-FCSID-N  (W0001-X)
             TO F-FCSID-N       IN DCLTFFCSHDR.

           MOVE WS-M-F-FCSP00-A (W0001-X)
             TO F-FCSP00-A      IN DCLTFFCSHDR.
           MOVE WS-M-F-FCSP01-A (W0001-X)
             TO F-FCSP01-A      IN DCLTFFCSHDR.
           MOVE WS-M-F-FCSP02-A (W0001-X)
             TO F-FCSP02-A      IN DCLTFFCSHDR.
           MOVE WS-M-F-FCSP03-A (W0001-X)
             TO F-FCSP03-A      IN DCLTFFCSHDR.
           MOVE WS-M-F-FCSP04-A (W0001-X)
             TO F-FCSP04-A      IN DCLTFFCSHDR.
           MOVE WS-M-F-FCSP05-A (W0001-X)
             TO F-FCSP05-A      IN DCLTFFCSHDR.
           MOVE WS-M-F-FCSQ02-A (W0001-X)
             TO F-FCSQ02-A      IN DCLTFFCSHDR.
           MOVE WS-M-F-FCSQ03-A (W0001-X)
             TO F-FCSQ03-A      IN DCLTFFCSHDR.
           MOVE WS-M-F-FCSQ04-A (W0001-X)
             TO F-FCSQ04-A      IN DCLTFFCSHDR.
           MOVE WS-M-F-FCSQ05-A (W0001-X)
             TO F-FCSQ05-A      IN DCLTFFCSHDR.

           EXEC SQL
                UPDATE D108.TFFCSHDR
                   SET F_FCSP00_A    = :DCLTFFCSHDR.F-FCSP00-A
                     , F_FCSP01_A    = :DCLTFFCSHDR.F-FCSP01-A
                     , F_FCSP02_A    = :DCLTFFCSHDR.F-FCSP02-A
                     , F_FCSP03_A    = :DCLTFFCSHDR.F-FCSP03-A
                     , F_FCSP04_A    = :DCLTFFCSHDR.F-FCSP04-A
                     , F_FCSP05_A    = :DCLTFFCSHDR.F-FCSP05-A
                     , F_FCSQ02_A    = :DCLTFFCSHDR.F-FCSQ02-A
                     , F_FCSQ03_A    = :DCLTFFCSHDR.F-FCSQ03-A
                     , F_FCSQ04_A    = :DCLTFFCSHDR.F-FCSQ04-A
                     , F_FCSQ05_A    = :DCLTFFCSHDR.F-FCSQ05-A
                     , DB_UPD_D      = CURRENT DATE
                     , DB_UPD_T      = CURRENT TIME
                 WHERE F_FCSID_N     = :DCLTFFCSHDR.F-FCSID-N
                   AND F_MKTCRGN_C   = :DCLTFPRODLN.F-MKTCRGN-C
           END-EXEC.

           SET NORMAL-RC-ONLY  TO TRUE.
           PERFORM  Z900-DB2-CHECK.

           EJECT
       D320-CREATE-AUDIT-TRAIL.

           MOVE 'D320'      TO CA-PARAGRAPH-NBR.

           MOVE 'TFFCSHDR'  TO DB-TBLNAME-X      OF DCLTFAUDIT.
           MOVE CA-OP-ID    TO A-UID-C           OF DCLTFAUDIT.
           MOVE 'U'         TO DB-ACTN-C         OF DCLTFAUDIT.
           MOVE 'A'         TO DB-DATAIMG-C      OF DCLTFAUDIT.
           MOVE CA-OP-RGN   TO F-MKTCRGN-C       OF DCLTFFCSHDR.
           MOVE DCLTFFCSHDR
             TO DB-DATAIMG-X-TEXT OF DCLTFAUDIT.
           MOVE LENGTH OF DCLTFFCSHDR
             TO DB-DATAIMG-X-LEN  OF DCLTFAUDIT.

           PERFORM B131-INSERT-TFAUDIT.


           EJECT
           COPY C751CONV.
           EXIT.

      **======================================================**
      **  COPYBOOK AREA FOR CICS CONTROL AND SUB-MODULES      **
      **======================================================**
           EJECT
           EXEC SQL
              INCLUDE C108Z000
           END-EXEC.

           EJECT
           COPY C108Z900.

           EJECT
           COPY C108Z998.

